module TorgMailruApi::APIRequest

Public Instance Methods

decamelize_hash_keys(value) click to toggle source

Рекурсивная декамелизация ключей хеша

# File lib/torg_mailru_api.rb, line 92
def decamelize_hash_keys value
  case value
    when Array
      value.map { |v| decamelize_hash_keys(v) }
    when Hash
      Hash[value.map { |k, v| [ k.scan(/[A-Z][a-z]*|[a-z]+/).join('_').downcase, decamelize_hash_keys(v) ] }]
    when String
      value.gsub(/\s{2,}|[\r\n]/, ' ').strip
    else
      value
   end
end
get(resource, params=nil) click to toggle source

Запрос к API @param [String] resource Ресурс API, к которому осуществляется запрос @param [Hash] params Хеш параметров @return [DeepOpenStruct] Результат запроса

Calls superclass method
# File lib/torg_mailru_api.rb, line 109
def get resource, params=nil
  response = super
  hash = decamelize_hash_keys response[response.keys.first]
  DeepOpenStruct.load hash
end
listing(resource, params=nil) click to toggle source

Вспомогательная функция для преобразования ответа API в листинг @param [String] resource Ресурс API, к которому осуществляется запрос @param [Hash] params Хеш параметров @return [Listing] Листинг

# File lib/torg_mailru_api.rb, line 119
def listing resource, params=nil
  Listing.new resource, params
end