module Rison
Constants
- VERSION
Public Class Methods
dump(object, options = {})
click to toggle source
# File lib/rison.rb, line 17 def dump(object, options = {}) mode = options[:mode] || :default case mode.to_sym when :default ::Rison::Dumper.dump(object) when :object ::Rison::Object::Dumper.dump_object(object) when :array ::Rison::Array::Dumper.dump_array(object) else raise InvalidMode.new("Invalid mode: #{mode}") end end
parse(source, options = {})
click to toggle source
# File lib/rison.rb, line 32 def parse(source, options = {}) mode = options[:mode] || :default parser_class = case mode.to_sym when :default ::Rison::Parser when :object ::Rison::Object::Parser when :array ::Rison::Array::Parser else raise InvalidMode.new("Invalid mode: #{mode}") end object = parser_class.parse(source) return object unless options[:symbolize_names] deep_symbolize_names(object) end
Private Class Methods
deep_symbolize_names(object)
click to toggle source
# File lib/rison.rb, line 53 def deep_symbolize_names(object) case object when Hash object.each_with_object({}) do |(k, v), ret| ret[k.to_sym] = deep_symbolize_names(v) end when ::Array object.map { |e| deep_symbolize_names(e) } else object end end