Sha256: 0e884f1916a6ef7ded117007dddb86ec42aaad0c457f08eb2417deaafe2d3e37
Contents?: true
Size: 633 Bytes
Versions: 14
Compression:
Stored size: 633 Bytes
Contents
module Superstore module Types class JsonType < BaseType def encode(data) ActiveSupport::JSON.encode(data) end def decode(str) ActiveSupport::JSON.decode(str) end def typecast(data) return data if ActiveSupport.parse_json_times if data.acts_like?(:time) || data.acts_like?(:date) data.as_json elsif data.is_a?(Array) data.map { |d| typecast(d) } elsif data.is_a?(Hash) data.each_with_object({}) { |(key, value), hash| hash[key] = typecast(value) } else data end end end end end
Version data entries
14 entries across 14 versions & 1 rubygems