module Ponominalu::Response
Public Class Methods
process(response, block)
click to toggle source
The main method result processing. @param [Hashie::Mash] response The server response in mash format. @param [Proc] block A block passed to the API
method. @return [Array, Hashie::Mash] The processed result. @raise [Ponominalu::Error] raised when Ponominalu
returns an error response.
# File lib/ponominalu/response.rb, line 10 def process(response, block) result = get_result(response) result = Oj.dump(result) if Ponominalu.raw_json if result.respond_to?(:each) # enumerable result receives :map with a block when called # with a block or is returned untouched otherwise block.nil? ? result : result.map(&block) else # non-enumerable result is yielded if block_given?) block.nil? ? result : block.call(result) end end
Private Class Methods
get_result(response)
click to toggle source
# File lib/ponominalu/response.rb, line 25 def get_result(response) # an empty array is returned if error code is 0 (not found) # and empty_strict option is false if response.code.zero? && !Ponominalu.empty_strict [] else # if wrap_response option is true response is returned # as element of response wrapper with api status code # and params Ponominalu.wrap_response ? response : response.message end end