Module: DellinInfo::API
- Defined in:
- lib/dellin_info_api.rb,
lib/dellininfo/order.rb,
lib/dellininfo/client.rb,
lib/dellininfo/reference.rb,
lib/dellininfo/valide_data.rb,
lib/dellininfo/order_status.rb,
lib/dellininfo/order_collection.rb
Defined Under Namespace
Modules: ValideData Classes: Client, Order, OrderCollection, OrderStatus, Reference
Constant Summary collapse
- PATH =
Приложение можно сконфигурировать, для конфикурации необходимо указать в константе DellinInfo::API::PATH путь до файла yml где ключ - название класса в snakecase, а значение - пара (параметр - значение)
'path to config.yml'
Class Method Summary collapse
- .client_request(dellin_class, params = {}) ⇒ Object
-
.configure! ⇒ Object
Все основные настройки хранятся в отдельном файле, данный метод рализует конфигурацию всех классов модуля.
-
.find_oders(params = {}) ⇒ Object
метод поиска накладных по неполным данным.
-
.reference(type) ⇒ Object
Данный метод получает ссылку на csv с данными справочников Деловых линиях dev.dellin.ru/api/public/tables/ и хэш, по которому можно отследить актуальность данных возвращается объект класса DellinInfo::API::Reference.
- .set_time! ⇒ Object
-
.status_oder(id_oder) ⇒ Object
метод проверяющий статусы накладной по номеру.
Class Method Details
.client_request(dellin_class, params = {}) ⇒ Object
61 62 63 64 65 66 |
# File 'lib/dellin_info_api.rb', line 61 def self.client_request(dellin_class, params = {}) client = Client.new() data = client.request(dellin_class.config['partial_url'], params).body JSON.parse data end |
.configure! ⇒ Object
Все основные настройки хранятся в отдельном файле, данный метод рализует конфигурацию всех классов модуля
20 21 22 23 24 25 26 27 |
# File 'lib/dellin_info_api.rb', line 20 def self.configure! YAML.load_file(PATH).each_pair do |config_class, params| params.each_pair do |param, value| "DellinInfo::API::#{config_class.camelize}".constantize.config[param] = value end end end |
.find_oders(params = {}) ⇒ Object
метод поиска накладных по неполным данным
43 44 45 46 47 48 49 50 51 52 |
# File 'lib/dellin_info_api.rb', line 43 def self.find_oders(params = {}) if params[:date_start].nil? set_time! params[:date_start] = @start_date params[:date_end] = @end_day end data = client_request(OrderCollection, params) OrderCollection.new data end |
.reference(type) ⇒ Object
Данный метод получает ссылку на csv с данными справочников Деловых линиях dev.dellin.ru/api/public/tables/ и хэш, по которому можно отследить актуальность данных возвращается объект класса DellinInfo::API::Reference
34 35 36 37 38 39 40 |
# File 'lib/dellin_info_api.rb', line 34 def self.reference(type) type = type.to_sym url_type = Reference::TYPE[type] data = client_request(url_type) Reference.new(data) end |
.set_time! ⇒ Object
68 69 70 71 72 73 74 |
# File 'lib/dellin_info_api.rb', line 68 def self.set_time! @start_date = 6.day.ago.strftime('%Y-%m-%d') @end_day = Time.now.strftime('%Y-%m-%d') end |
.status_oder(id_oder) ⇒ Object
метод проверяющий статусы накладной по номеру
55 56 57 58 59 |
# File 'lib/dellin_info_api.rb', line 55 def self.status_oder(id_oder) data = client_request(OrderStatus, docid: id_oder) DellinInfo::API::OrderStatus.new data end |