Class: YandexUslugiWrapper::YandexUsluga

Inherits:
ActiveResource::Base
  • Object
show all
Defined in:
lib/yandex_uslugi_wrapper/yandex_usluga.rb

Overview

Класс является базовым для Яндекс Услуг Здесь задаются api ключ, основной url для запроса, referer Также реализуется наследование headers и методы генерирующие url

Direct Known Subclasses

Bank, BankProduct

Constant Summary collapse

API_SITE =
URI::parse("http://api.uslugi.yandex.ru")
API_PREFIX =
"/1.0/"
@@api_key =

Задание Api key и Referer’a. Необходимы для работы с Яндекс Услугами

""
@@referer =
""

Class Method Summary collapse

Class Method Details

.api_keyObject



33
34
35
# File 'lib/yandex_uslugi_wrapper/yandex_usluga.rb', line 33

def api_key
  @@api_key
end

.api_key=(key) ⇒ Object



37
38
39
40
# File 'lib/yandex_uslugi_wrapper/yandex_usluga.rb', line 37

def api_key=(key)
  @@api_key = key
  use_api_key
end

.collection_path(prefix_options = {}, query_options = nil) ⇒ Object

Метод генерирует url для коллекции, например /banks Также удаляем .#formatformat.extension



60
61
62
63
# File 'lib/yandex_uslugi_wrapper/yandex_usluga.rb', line 60

def collection_path(prefix_options = {}, query_options = nil)
  prefix_options, query_options = split_options(prefix_options) if query_options.nil?
  "#{prefix(prefix_options)}#{collection_name}#{query_string(query_options)}"
end

.element_path(id, prefix_options = {}, query_options = nil) ⇒ Object

Метод генерирует url для элемента, например /banks/id Удаляем из стандратного метода .#formatformat.extension, чтобы в конце запроса не было .xml



53
54
55
56
# File 'lib/yandex_uslugi_wrapper/yandex_usluga.rb', line 53

def element_path(id, prefix_options = {}, query_options = nil)
  prefix_options, query_options = split_options(prefix_options) if query_options.nil?
  "#{prefix(prefix_options)}#{collection_name}/#{id}#{query_string(query_options)}"
end

.headersObject

Если headers не заданы в подклассе, то назначаем ему headers суперкласса



23
24
25
26
27
28
29
30
31
# File 'lib/yandex_uslugi_wrapper/yandex_usluga.rb', line 23

def headers
  if defined?(@headers)
    @headers
  elsif superclass != Object && superclass.headers
    superclass.headers
  else
    @headers ||= {}
  end
end

.refererObject



42
43
44
# File 'lib/yandex_uslugi_wrapper/yandex_usluga.rb', line 42

def referer
  @@referer
end

.referer=(referer_site) ⇒ Object



46
47
48
49
# File 'lib/yandex_uslugi_wrapper/yandex_usluga.rb', line 46

def referer=(referer_site)
  @@referer = referer_site
  use_referer_site
end