Class: Rackful::Parser::JSON
- Inherits:
-
Rackful::Parser
show all
- Defined in:
- lib/rackful/parser.rb
Constant Summary
- MEDIA_TYPES =
[
'application/json',
'application/x-json'
]
Instance Attribute Summary (collapse)
Instance Method Summary
(collapse)
Instance Attribute Details
Instance Method Details
- (void) parse
282
283
284
285
286
287
288
|
# File 'lib/rackful/parser.rb', line 282
def parse
r = ::JSON.parse(
self.request.env['rack.input'].read,
:symbolize_names => true
)
self.recursive_datetime_parser r
end
|
- (void) recursive_datetime_parser(p)
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
|
# File 'lib/rackful/parser.rb', line 291
def 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] = self.recursive_datetime_parser( p[key] )
end
elsif p.kind_of?(Array)
(0 ... p.size).each do
|i|
p[i] = self.recursive_datetime_parser( p[i] )
end
end
p
end
|