Module: Cdek
- Defined in:
- lib/cdek.rb,
lib/cdek/error.rb,
lib/cdek/client.rb,
lib/cdek/engine.rb,
lib/cdek/railtie.rb,
lib/cdek/version.rb,
lib/cdek/connection.rb,
lib/cdek/configuration.rb,
lib/cdek/resources/base.rb,
lib/cdek/resources/locations.rb,
app/helpers/cdek/widget_helper.rb,
lib/cdek/resources/deliverypoints.rb,
lib/generators/cdek/install/install_generator.rb,
app/controllers/cdek/widget_service_controller.rb
Defined Under Namespace
Modules: Generators, Resources, WidgetHelper Classes: ApiError, AuthenticationError, BadRequestError, Client, Configuration, ConfigurationError, Connection, ConnectionError, Engine, Error, NotFoundError, Railtie, RateLimitError, ServerError, TimeoutError, WidgetServiceController
Constant Summary collapse
- VERSION =
"0.3.10"
Class Method Summary collapse
-
.client ⇒ Object
Шареный клиент.
-
.configuration ⇒ Object
Возвращает текущий объект конфигурации (создавая его при первом обращении).
-
.configure {|configuration| ... } ⇒ Object
Блочный синтаксис настройки.
-
.deliverypoints(custom_client = client) ⇒ Object
High-level ресурс «Пункты выдачи» — список ПВЗ/постаматов по фильтрам.
-
.locations(custom_client = client) ⇒ Object
High-level ресурс «Локации» — справочники городов/регионов и suggest.
-
.reset! ⇒ Object
Полный сброс — и конфигурации, и клиента.
-
.reset_client! ⇒ Object
Сбрасывает мемоизированный клиент (полезно после изменения конфигурации или в тестах).
Class Method Details
.client ⇒ Object
Шареный клиент. Потокобезопасная мемоизация.
34 35 36 |
# File 'lib/cdek.rb', line 34 def client CLIENT_MUTEX.synchronize { @client ||= Client.new(configuration) } end |
.configuration ⇒ Object
Возвращает текущий объект конфигурации (создавая его при первом обращении).
18 19 20 |
# File 'lib/cdek.rb', line 18 def configuration @configuration ||= Configuration.new end |
.configure {|configuration| ... } ⇒ Object
Блочный синтаксис настройки.
Cdek.configure do |config|
config.account = ENV["CDEK_ACCOUNT"]
config.secure_password = ENV["CDEK_SECURE_PASSWORD"]
config.production_mode!
end
29 30 31 |
# File 'lib/cdek.rb', line 29 def configure yield configuration end |
.deliverypoints(custom_client = client) ⇒ Object
High-level ресурс «Пункты выдачи» — список ПВЗ/постаматов по фильтрам.
60 61 62 |
# File 'lib/cdek.rb', line 60 def deliverypoints(custom_client = client) Resources::Deliverypoints.new(custom_client) end |
.locations(custom_client = client) ⇒ Object
High-level ресурс «Локации» — справочники городов/регионов и suggest. По умолчанию использует шареный Cdek.client; можно передать кастомный клиент (например, в тестах с подменённым transport).
55 56 57 |
# File 'lib/cdek.rb', line 55 def locations(custom_client = client) Resources::Locations.new(custom_client) end |
.reset! ⇒ Object
Полный сброс — и конфигурации, и клиента.
45 46 47 48 49 50 |
# File 'lib/cdek.rb', line 45 def reset! CLIENT_MUTEX.synchronize do @configuration = nil @client = nil end end |
.reset_client! ⇒ Object
Сбрасывает мемоизированный клиент (полезно после изменения конфигурации или в тестах).
40 41 42 |
# File 'lib/cdek.rb', line 40 def reset_client! CLIENT_MUTEX.synchronize { @client = nil } end |