Module: TorgMailruApi::APIRequest
- Included in:
- TorgMailruApi
- Defined in:
- lib/torg_mailru_api.rb
Defined Under Namespace
Classes: DeepOpenStruct
Instance Method Summary collapse
-
#decamelize_hash_keys(value) ⇒ Object
Рекурсивная декамелизация ключей хеша.
-
#get(resource, params = nil) ⇒ DeepOpenStruct
Запрос к API.
-
#listing(resource, params = nil) ⇒ Listing
Вспомогательная функция для преобразования ответа API в листинг.
Instance Method Details
#decamelize_hash_keys(value) ⇒ Object
Рекурсивная декамелизация ключей хеша
92 93 94 95 96 97 98 99 100 101 102 103 |
# 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) ⇒ DeepOpenStruct
Запрос к API
109 110 111 112 113 |
# 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 |