class ActiveRecord::Coders::JSON
Public Class Methods
dump(json)
click to toggle source
# File lib/activerecord-postgres-json/coders.rb, line 10 def self.dump(json) new.dump(json) end
load(json)
click to toggle source
# File lib/activerecord-postgres-json/coders.rb, line 6 def self.load(json) new.load(json) end
new(params = {})
click to toggle source
# File lib/activerecord-postgres-json/coders.rb, line 14 def initialize(params = {}) @default = {} return unless params.class.name == 'Hash' @default = params[:default] if params[:default] @symbolize_keys = params[:symbolize_keys] if params[:symbolize_keys] end
Public Instance Methods
dump(obj)
click to toggle source
# File lib/activerecord-postgres-json/coders.rb, line 21 def dump(obj) if obj.nil? @default.nil? ? nil : to_json(@default) else to_json(obj) end end
load(json)
click to toggle source
# File lib/activerecord-postgres-json/coders.rb, line 29 def load(json) json.nil? ? @default : from_json(json) end
Private Instance Methods
convert_object(obj)
click to toggle source
# File lib/activerecord-postgres-json/coders.rb, line 43 def convert_object(obj) case obj when Array obj.map { |member| convert_object(member) } else obj end end
from_json(json)
click to toggle source
# File lib/activerecord-postgres-json/coders.rb, line 39 def from_json(json) convert_object MultiJson.load(json, symbolize_keys: @symbolize_keys) end
to_json(obj)
click to toggle source
# File lib/activerecord-postgres-json/coders.rb, line 35 def to_json(obj) MultiJson.dump(obj) end