Class: Common::Client::Middleware::Response::Snakecase
- Inherits:
-
Faraday::Response::Middleware
- Object
- Faraday::Response::Middleware
- Common::Client::Middleware::Response::Snakecase
- Defined in:
- lib/common/client/middleware/response/snakecase.rb
Instance Method Summary collapse
-
#initialize(app, options = { symbolize: true }) ⇒ Snakecase
constructor
A new instance of Snakecase.
- #on_complete(env) ⇒ Object
- #parse(parsed_object) ⇒ Object
Constructor Details
#initialize(app, options = { symbolize: true }) ⇒ Snakecase
Returns a new instance of Snakecase.
8 9 10 11 |
# File 'lib/common/client/middleware/response/snakecase.rb', line 8 def initialize(app, = { symbolize: true }) super(app) @symbolize = [:symbolize] end |
Instance Method Details
#on_complete(env) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/common/client/middleware/response/snakecase.rb', line 13 def on_complete(env) # return false unless env.response_headers['content-type'] =~ /\b(xml|json)/ return unless deserialized_body?(env.body) env.body = parse(env.body) end |
#parse(parsed_object) ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/common/client/middleware/response/snakecase.rb', line 20 def parse(parsed_object) case parsed_object when Array parsed_object.map { |hash| transform(hash) } when Hash transform(parsed_object) end end |