Sha256: 2cbe026a9bd522f350393bf31ee1b8939e08cab5a552f86a12b4b33e754bccd7
Contents?: true
Size: 990 Bytes
Versions: 33
Compression:
Stored size: 990 Bytes
Contents
require 'yajl' unless defined?(Yajl) module ActiveSupport module JSON module Backends module Yajl ParseError = ::Yajl::ParseError extend self # Parses a JSON string or IO and convert it into an object def decode(json) data = ::Yajl::Parser.new.parse(json) if ActiveSupport.parse_json_times convert_dates_from(data) else data end end private def convert_dates_from(data) case data when nil nil when DATE_REGEX begin DateTime.parse(data) rescue ArgumentError data end when Array data.map! { |d| convert_dates_from(d) } when Hash data.each do |key, value| data[key] = convert_dates_from(value) end else data end end end end end end
Version data entries
33 entries across 33 versions & 2 rubygems