class DpdApi::Client::Response::ResourceBuilder

Attributes

merged_params[R]
request_params[R]
response_body[R]

Public Class Methods

new(client, method, params = {}, options = {}) click to toggle source
# File lib/dpd_api/client/response.rb, line 33
def initialize(client, method, params = {}, options = {})
  @client  = client
  @method  = method
  @params  = params
  @namespace = options.delete(:namespace)
  @merged_params = merge_auth_params
end

Public Instance Methods

resources() click to toggle source
# File lib/dpd_api/client/response.rb, line 41
def resources
  namespace = "#{@method}_response".to_sym
  @response_body = response.body
  resources = @response_body[namespace][:return]
  resources.is_a?(Array) ? resources : [] << resources
end

Private Instance Methods

merge_auth_params() click to toggle source
# File lib/dpd_api/client/response.rb, line 50
def merge_auth_params
  auth_params = DpdApi.configuration.auth_params.clone
  auth_params.deep_merge!(@params)
end
request() click to toggle source
# File lib/dpd_api/client/response.rb, line 59
def request
  namespace = @namespace || :request
  @request_params ||= @params.blank? ? @merged_params : { namespace => @merged_params  }
end
response() click to toggle source
# File lib/dpd_api/client/response.rb, line 55
def response
  @client.call(@method, message: request)
end