class Moneta::Api::ResponseFactory

Public Class Methods

build(response) click to toggle source

@param [Savon::Response] @return [Moneta::Api::Responses::*]

# File lib/moneta/api/response_factory.rb, line 7
def build(response)
  klass = response.keys.first
  data = response.values.first

  prepare_data!(data)
  Object.const_get("Moneta::Api::Responses::#{ klass.to_s }").build(data)
end

Private Class Methods

prepare_data!(data) click to toggle source
# File lib/moneta/api/response_factory.rb, line 17
def prepare_data!(data)
  if data.is_a?(Hash)
    data.deep_transform_keys! do |key|
      key.underscore.to_sym rescue key
    end
  end
end