Class: FmRest::Spyke::JsonParser
- Inherits:
-
Faraday::Response::Middleware
- Object
- Faraday::Response::Middleware
- FmRest::Spyke::JsonParser
- Defined in:
- lib/fmrest/spyke/json_parser.rb
Overview
Response Faraday middleware for converting FM API's response JSON into Spyke's expected format
Constant Summary collapse
- SINGLE_RECORD_RE =
%r(/records/\d+\Z).freeze
- MULTIPLE_RECORDS_RE =
%r(/records\Z).freeze
- FIND_RECORDS_RE =
%r(/_find\b).freeze
- VALIDATION_ERROR_RANGE =
500..599
Instance Method Summary collapse
-
#initialize(app, model) ⇒ JsonParser
constructor
A new instance of JsonParser.
- #on_complete(env) ⇒ Object
Constructor Details
#initialize(app, model) ⇒ JsonParser
Returns a new instance of JsonParser.
16 17 18 19 |
# File 'lib/fmrest/spyke/json_parser.rb', line 16 def initialize(app, model) super(app) @model = model end |
Instance Method Details
#on_complete(env) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fmrest/spyke/json_parser.rb', line 22 def on_complete(env) json = parse_json(env.body) case when single_record_request?(env) env.body = prepare_single_record(json) when multiple_records_request?(env), find_request?(env) env.body = prepare_collection(json) when create_request?(env), update_request?(env), delete_request?(env) env.body = prepare_save_response(json) end end |