class Ardm::Property::JSON

Public Instance Methods

dump(value) click to toggle source
# File lib/ardm/property/json.rb, line 20
def dump(value)
  if value.nil? || value.is_a?(::String)
    value
  else
    MultiJson.dump(value)
  end
end
load(value) click to toggle source
# File lib/ardm/property/json.rb, line 10
def load(value)
  if value.nil? || value_loaded?(value)
    value
  elsif value.is_a?(::String)
    typecast(value)
  else
    raise ArgumentError.new("+value+ of a property of JSON type must be nil or a String")
  end
end
typecast(value) click to toggle source
# File lib/ardm/property/json.rb, line 28
def typecast(value)
  return if value.nil?

  if value_loaded?(value)
    value
  else
    MultiJson.load(value.to_s)
  end
end
value_loaded?(value) click to toggle source
# File lib/ardm/property/json.rb, line 38
def value_loaded?(value)
  value.kind_of?(::Array) || value.kind_of?(::Hash)
end