Class: Apress::YandexMarket::Readers::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/apress/yandex_market/readers/base.rb

Overview

Базовый класс ридеров

Direct Known Subclasses

Category, ModelByCategory

Constant Summary collapse

DEFAULT_REGION_ID =

Россия

225
PAGE_SIZE =

максимум сущностей на одной странице в API Яндекс.Маркета

30
SLEEP_TIME =

no more than 2 rps

0.5
RETRY_ATTEMPTS_SLEEP_TIME =
[60, 60, 30, 15, 1].freeze
RETRY_ATTEMPTS =
RETRY_ATTEMPTS_SLEEP_TIME.size
RETRY_CODES =
[401, 403, 404, 500, 502, 503, 504].freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Base

Public: инициализация ридера

options - Hash, параметры ридера

:region_id - идентификатор региона (необязательный)
:token     - токен для доступа к API Яндекс.Маркета

Returns an instance of Readers::Base



32
33
34
35
# File 'lib/apress/yandex_market/readers/base.rb', line 32

def initialize(options)
  @region_id = options.fetch(:region_id, DEFAULT_REGION_ID)
  @client = Api::Client.new(options.fetch(:token))
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



17
18
19
# File 'lib/apress/yandex_market/readers/base.rb', line 17

def client
  @client
end

Class Method Details

.allowed_optionsObject



20
21
22
# File 'lib/apress/yandex_market/readers/base.rb', line 20

def allowed_options
  %i(token region_id)
end