class Rackful::Parser::JSON

Public Class Methods

parse(request, response, resource) click to toggle source
# File lib/rackful/parser.rb, line 263
def self.parse request, response, resource
  r = ::JSON.parse(
    request.env['rack.input'].read,
    :symbolize_names => true
  )
  resource.to_rackful = self.recursive_datetime_parser r
end
recursive_datetime_parser(p) click to toggle source
# File lib/rackful/parser.rb, line 272
def self.recursive_datetime_parser p
  if p.kind_of?(String)
    begin
      return Time.xmlschema(p)
    rescue
    end
  elsif p.kind_of?(Hash)
    p.keys.each do
      |key|
      p[key] = recursive_datetime_parser( p[key] )
    end
  elsif p.kind_of?(Array)
    (0 ... p.size).each do
      |i|
      p[i] = recursive_datetime_parser( p[i] )
    end
  end
  p
end