b2b_center_api 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/b2b_center_api.gemspec +0 -1
- data/lib/b2b_center_api/remote_auction.rb +65 -0
- data/lib/b2b_center_api/remote_market.rb +65 -0
- data/lib/b2b_center_api/version.rb +1 -1
- data/lib/b2b_center_api/web_service/remote.rb +7 -0
- data/lib/b2b_center_api/web_service/types/address_data.rb +75 -0
- data/lib/b2b_center_api/web_service/types/array_of_services.rb +17 -0
- data/lib/b2b_center_api/web_service/types/attachment_name.rb +32 -0
- data/lib/b2b_center_api/web_service/types/auction_participants_protocol.rb +42 -0
- data/lib/b2b_center_api/web_service/types/b2b_file.rb +1 -1
- data/lib/b2b_center_api/web_service/types/id.rb +15 -0
- data/lib/b2b_center_api/web_service/types/okdp_rows.rb +26 -0
- data/lib/b2b_center_api/web_service/types/service_row.rb +19 -0
- metadata +10 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3527ecfb8c29fb58b6d225bc5f96f64eb3e5a1e
|
4
|
+
data.tar.gz: 14853b42a38be14c3104b24b20044078ab9f5efa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '0709caded7ed7b3e8fd14212069441837168ba12884d0759c2763d4e111c182b8b62fc74de31a730f701a72b2c42d388125f8f222c0dad5f4e952805a51f31ec'
|
7
|
+
data.tar.gz: 729ba088ed41c8af95dbd2688675bf4c27fc94e1388bddab78e2abf845b4ff8d4670f0a9879abd67cc9d1118c3fc7a10b0589f72624c6524d76b80757e41dd46
|
data/Gemfile
CHANGED
data/b2b_center_api.gemspec
CHANGED
@@ -8,6 +8,71 @@ module B2bCenterApi
|
|
8
8
|
@client_web = WebService::RemoteAuction.new(client)
|
9
9
|
end
|
10
10
|
|
11
|
+
# Поулчить данные о протоколе вскрытия конвертов с предложениями
|
12
|
+
# @param auction_id [Integer] Номер аукциона/объявления
|
13
|
+
# @param haggling_num [Integer] Номер этапа переторжки
|
14
|
+
# Допустимые значени:
|
15
|
+
# 0 - Основной этап (По умолчанию)
|
16
|
+
# >0 - Этап переторжки с указанным номером
|
17
|
+
# @return [AuctionParticipantsProtocol]
|
18
|
+
def get_participants_protocol(auction_id, haggling_num = 0)
|
19
|
+
response = @client_web.command :get_participants_protocol, auction_id: auction_id, haggling_num: haggling_num
|
20
|
+
WebService::Types::AuctionParticipantsProtocol.from_response(response)
|
21
|
+
end
|
22
|
+
|
23
|
+
# Загрузить документацию к аукциону/объявлению через url
|
24
|
+
# @param auction_id [Integer] Номер аукциона/объявления
|
25
|
+
# @param url [String] Путь к файлу
|
26
|
+
# @param type [String] Тип документации
|
27
|
+
# Возможные значения:
|
28
|
+
# 'docs' - Документация к основному этапу торговой процедуры
|
29
|
+
# 'pre_docs' - Документация к предварительному этапу торговой процедуры
|
30
|
+
# @param append_mode [Integer] Загружать файлы в режиме добавления
|
31
|
+
# Возможные значения:
|
32
|
+
# 0 - Режим замены (старые файлы документации будут удалены)
|
33
|
+
# 1 - Режим добавления (старые файлы документации не будут удалены, за исключением совпадающих имен)
|
34
|
+
# @return [String] Код ошибки (0 - если успешно)
|
35
|
+
def upload_doc_from_url(auction_id, url, type = 'docs', append_mode = 1)
|
36
|
+
response = @client_web.command :upload_doc, auction_id: auction_id, type: type, append_mode: append_mode, url: url
|
37
|
+
response.status[:error_code]
|
38
|
+
end
|
39
|
+
|
40
|
+
# Загрузить документацию к аукциону/объявлению
|
41
|
+
# @param auction_id [Integer] Номер аукциона/объявления
|
42
|
+
# @param file [String] Путь к файлу
|
43
|
+
# @param type [String] Тип документации
|
44
|
+
# Возможные значения:
|
45
|
+
# 'docs' - Документация к основному этапу торговой процедуры
|
46
|
+
# 'pre_docs' - Документация к предварительному этапу торговой процедуры
|
47
|
+
# @param append_mode [Integer] Загружать файлы в режиме добавления
|
48
|
+
# Возможные значения:
|
49
|
+
# 0 - Режим замены (старые файлы документации будут удалены)
|
50
|
+
# 1 - Режим добавления (старые файлы документации не будут удалены, за исключением совпадающих имен)
|
51
|
+
# @return [String] Код ошибки (0 - если успешно)
|
52
|
+
def upload_doc(auction_id, file, type = 'docs', append_mode = 1)
|
53
|
+
response = @client_web.command_with_attachments :upload_doc, [file], auction_id: auction_id, type: type, append_mode: append_mode, attachment_name: WebService::Types::AttachmentName.new(file).to_h
|
54
|
+
response.status[:error_code]
|
55
|
+
end
|
56
|
+
|
57
|
+
# Загрузить документацию из нескольких файлов к аукциону/объявлению
|
58
|
+
# !Загружает не более двух файлов за раз, иначе ошибка!
|
59
|
+
# @param auction_id [Integer] Номер аукциона/объявления
|
60
|
+
# @param file [Array] Массив файлов
|
61
|
+
# @param type [String] Тип документации
|
62
|
+
# Возможные значения:
|
63
|
+
# 'docs' - Документация к основному этапу торговой процедуры
|
64
|
+
# 'pre_docs' - Документация к предварительному этапу торговой процедуры
|
65
|
+
# @param append_mode [Integer] Загружать файлы в режиме добавления
|
66
|
+
# Возможные значения:
|
67
|
+
# 0 - Режим замены (старые файлы документации будут удалены)
|
68
|
+
# 1 - Режим добавления (старые файлы документации не будут удалены, за исключением совпадающих имен)
|
69
|
+
# @return [String] Код ошибки (0 - если успешно)
|
70
|
+
def upload_docs(auction_id, files, type = 'docs', append_mode = 1)
|
71
|
+
files = [files] unless files.is_a? Array
|
72
|
+
response = @client_web.command_with_attachments :upload_docs, files, auction_id: auction_id, type: type, append_mode: append_mode, attachment_names: WebService::Types::AttachmentName.from_array(files)
|
73
|
+
response.status[:error_code]
|
74
|
+
end
|
75
|
+
|
11
76
|
# Создать новый аукцион
|
12
77
|
# @param auction_data [WebService::Types::AuctionData, Hash] Данные для создания аукциона
|
13
78
|
# @return [Integer] id созданной процедуры
|
@@ -8,6 +8,53 @@ module B2bCenterApi
|
|
8
8
|
@client_web = WebService::RemoteMarket.new(client)
|
9
9
|
end
|
10
10
|
|
11
|
+
# Получить категории классификатора организации
|
12
|
+
# @param firm_id [Integer] ID организации или 0 для своей организации
|
13
|
+
# @param type [Integer] Тип продукции и услуг
|
14
|
+
# Возможные значения:
|
15
|
+
# '0' - Потребляемая продукция и услуги
|
16
|
+
# '1' - Предлагаемая продукция и услуги
|
17
|
+
# @return [String[]]
|
18
|
+
def get_firm_classifier(firm_id, type)
|
19
|
+
response = @client_web.command :get_firm_classifier, firm_id: firm_id, type: type
|
20
|
+
WebService::Types::ArrayOfIds.from_response(response)
|
21
|
+
end
|
22
|
+
|
23
|
+
# Получить строки классификатора
|
24
|
+
# @param ids [String[]] ID категорий классификатора организации
|
25
|
+
# @return [String[]]
|
26
|
+
def get_classifier_rows(ids)
|
27
|
+
response = @client_web.command :get_classifier_rows, ids: ids
|
28
|
+
WebService::Types::OkdpRow.from_response(response)
|
29
|
+
end
|
30
|
+
|
31
|
+
# Получить список адресов организации
|
32
|
+
# @param firm_id [Integer] ID организации или 0 для своей организации
|
33
|
+
# @return [String[]]
|
34
|
+
def get_addresses_ids(firm_id = 0)
|
35
|
+
response = @client_web.command :get_addresses_ids, firm_id: firm_id
|
36
|
+
WebService::Types::ArrayOfIds.from_response(response)
|
37
|
+
end
|
38
|
+
|
39
|
+
# Получить адрес организации по ОКАТО
|
40
|
+
# @param okato [String] ОКАТО организации
|
41
|
+
# @param country [Integer] Код страны. Если значение равно = 0, то используется код России = 643
|
42
|
+
# @param address [String] Адрес (обязательно для заполнения)
|
43
|
+
# @param firm_id [Integer] ID своей или подчиненной организации. Если = 0, то получаем идентификатор адреса своей организации
|
44
|
+
# @return [String[]]
|
45
|
+
def get_address_id_by_okato(okato:, address:, country: 0, firm_id: 0)
|
46
|
+
response = @client_web.command :get_address_id_by_okato, okato: okato, address: address, country: country, firm_id: firm_id
|
47
|
+
WebService::Types::Id.from_response(response)
|
48
|
+
end
|
49
|
+
|
50
|
+
# Получить адрес
|
51
|
+
# @param address_id [Integer] ID адреса
|
52
|
+
# @return [String[]]
|
53
|
+
def get_address(address_id)
|
54
|
+
response = @client_web.command :get_address, address_id: address_id
|
55
|
+
WebService::Types::AddressData.from_response(response, @client)
|
56
|
+
end
|
57
|
+
|
11
58
|
# Получить информацию об организации
|
12
59
|
# @param firm_id [Integer] ID организации
|
13
60
|
# @return [WebService::Types::FirmInfo]
|
@@ -23,5 +70,23 @@ module B2bCenterApi
|
|
23
70
|
response = @client_web.command :find_firm, firm_request: { inn: inn }
|
24
71
|
WebService::Types::FirmData.from_response(response, @client)
|
25
72
|
end
|
73
|
+
|
74
|
+
# Получить список услуг
|
75
|
+
# @param
|
76
|
+
# @return [String[]]
|
77
|
+
def get_services
|
78
|
+
response = @client_web.command :get_services, {}
|
79
|
+
WebService::Types::ArrayOfServices.from_response(response)
|
80
|
+
end
|
81
|
+
|
82
|
+
# Создание/изменение адреса
|
83
|
+
# @param address_id [Integer] ID адреса. Чтобы создать новый адрес поле id должно быть = 0, либо отсутствовать
|
84
|
+
# firm_id [Integer] ID организации
|
85
|
+
#
|
86
|
+
# @return [Integer]
|
87
|
+
def update_address(address_data)
|
88
|
+
response = @client_web.command :update_address, data: address_data.to_h
|
89
|
+
WebService::Types::Id.from_response(response)
|
90
|
+
end
|
26
91
|
end
|
27
92
|
end
|
@@ -11,6 +11,13 @@ module B2bCenterApi
|
|
11
11
|
Response.new(res)
|
12
12
|
end
|
13
13
|
|
14
|
+
def command_with_attachments(name, attachments, params)
|
15
|
+
auth = B2bCenterApi::Settings.auth_options
|
16
|
+
params = auth.merge(params)
|
17
|
+
res = @client.call(method_fullname(name), message: params, attachments: attachments)
|
18
|
+
Response.new(res)
|
19
|
+
end
|
20
|
+
|
14
21
|
def initialize(client)
|
15
22
|
@client = client
|
16
23
|
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
module B2bCenterApi
|
2
|
+
module WebService
|
3
|
+
module Types
|
4
|
+
# Адрес
|
5
|
+
class AddressData < WebService::BaseType
|
6
|
+
# @return [Integer] id адреса
|
7
|
+
# Для добавления устанавливаем id=0
|
8
|
+
attr_accessor :id
|
9
|
+
|
10
|
+
# @return [Integer] id организации
|
11
|
+
attr_accessor :firm_id
|
12
|
+
|
13
|
+
# @return [Integer] Цифровой код страны ISO_3166-1
|
14
|
+
attr_accessor :country
|
15
|
+
|
16
|
+
# @return [Integer] Код региона по КЛАДРу
|
17
|
+
# В случае заполнения поля
|
18
|
+
# okato, в поле region можно передать "0", в этом
|
19
|
+
# случае оно заполняется автоматически по коду
|
20
|
+
# ОКАТО
|
21
|
+
attr_accessor :region
|
22
|
+
|
23
|
+
# @return [String] Код ОКАТО
|
24
|
+
attr_accessor :okato
|
25
|
+
|
26
|
+
# @return [String] Адрес
|
27
|
+
attr_accessor :address
|
28
|
+
|
29
|
+
# @return [String] Название адреса
|
30
|
+
attr_accessor :comment
|
31
|
+
|
32
|
+
# @return [String] Широта, в градусах
|
33
|
+
attr_accessor :lat
|
34
|
+
|
35
|
+
# @return [String] Долгота, в градусах
|
36
|
+
attr_accessor :lng
|
37
|
+
|
38
|
+
# @return [Integer] Тип задания адреса
|
39
|
+
# Указывается только при вызове
|
40
|
+
# RemoteMarket.updateAddress.
|
41
|
+
# Возможные значения:
|
42
|
+
# "0" — значения широты и долготы определятся
|
43
|
+
# автоматически на основании адреса;
|
44
|
+
# "32" — значения широты и долготы
|
45
|
+
attr_accessor :status
|
46
|
+
|
47
|
+
# @return [Integer] Является ли адрес неточным
|
48
|
+
# Возможные значения:
|
49
|
+
# "0" — адрес, заданный обычным способом;
|
50
|
+
# "1" — неточный адрес (может использоваться только в закупках по 223-ФЗ)
|
51
|
+
attr_accessor :is_fuzzy_address
|
52
|
+
|
53
|
+
# @return [AddressData]
|
54
|
+
def self.from_response(response, client)
|
55
|
+
r = response.result[:address_data]
|
56
|
+
return if r.nil?
|
57
|
+
ad = AddressData.new
|
58
|
+
ad.soap_client = client
|
59
|
+
ad.id = convert(r[:id], :integer)
|
60
|
+
ad.firm_id = convert(r[:firm_id], :integer)
|
61
|
+
ad.country = convert(r[:country], :integer)
|
62
|
+
ad.region = convert(r[:region], :integer)
|
63
|
+
ad.okato = convert(r[:okato], :string)
|
64
|
+
ad.address = convert(r[:address], :string)
|
65
|
+
ad.comment = convert(r[:comment], :string)
|
66
|
+
ad.lat = convert(r[:lat], :string)
|
67
|
+
ad.lng = convert(r[:lng], :string)
|
68
|
+
ad.status = convert(r[:status], :integer)
|
69
|
+
ad.is_fuzzy_address = convert(r[:is_fuzzy_address], :integer)
|
70
|
+
ad
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module B2bCenterApi
|
2
|
+
module WebService
|
3
|
+
module Types
|
4
|
+
# Список доступных услуг
|
5
|
+
class ArrayOfServices < WebService::BaseType
|
6
|
+
# @return [ServiceRow]
|
7
|
+
def self.from_response(response)
|
8
|
+
r = response.result
|
9
|
+
return if r.nil?
|
10
|
+
Array(r[:services]).map do |service|
|
11
|
+
ServiceRow.new(service)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'digest'
|
2
|
+
|
3
|
+
module B2bCenterApi
|
4
|
+
module WebService
|
5
|
+
module Types
|
6
|
+
# Файл для отправки
|
7
|
+
class AttachmentName < WebService::BaseType
|
8
|
+
|
9
|
+
# @return [String] Имя файла
|
10
|
+
attr_reader :filename
|
11
|
+
|
12
|
+
# @return [String] MD5 от содержимого файла
|
13
|
+
attr_reader :md5
|
14
|
+
|
15
|
+
def initialize(file_path)
|
16
|
+
file = File.new(file_path)
|
17
|
+
@filename = File.basename(file_path)
|
18
|
+
@md5 = Digest::MD5.hexdigest(file.read)
|
19
|
+
end
|
20
|
+
|
21
|
+
# Подготовка массива AttachmentName для отправки
|
22
|
+
# @param files_array [Array] Массив файлов
|
23
|
+
# @return [Array] Массив хешей для отправки по SOAP
|
24
|
+
def self.from_array(files_array)
|
25
|
+
files_array.map do |file|
|
26
|
+
{ file: new(file).to_h }
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module B2bCenterApi
|
2
|
+
module WebService
|
3
|
+
module Types
|
4
|
+
# Участник аукциона
|
5
|
+
class AuctionParticipantsProtocol < WebService::BaseType
|
6
|
+
|
7
|
+
# @return [String] Номер протокола
|
8
|
+
attr_accessor :number
|
9
|
+
|
10
|
+
# @return [Date] Дата составления протокола
|
11
|
+
attr_accessor :date
|
12
|
+
|
13
|
+
# @return [String] Место составления протокола
|
14
|
+
attr_accessor :place
|
15
|
+
|
16
|
+
# @return [String] Ссылка на скачивание файла протокола, если организатор загрузил протокол
|
17
|
+
attr_accessor :file
|
18
|
+
|
19
|
+
# @return [Time] Дата и время проведения этапа процедуры
|
20
|
+
attr_accessor :procedure_stage_date
|
21
|
+
|
22
|
+
# @return [Date] Дата подписания протокола
|
23
|
+
attr_accessor :sign_protocol_date
|
24
|
+
|
25
|
+
# @return [ParticipantsProtocol]
|
26
|
+
def self.from_response(response)
|
27
|
+
r = response.result[:participants_protocol]
|
28
|
+
return if r.nil?
|
29
|
+
|
30
|
+
protocol = AuctionParticipantsProtocol.new
|
31
|
+
protocol.number = r[:number]
|
32
|
+
protocol.date = convert r[:date], :date
|
33
|
+
protocol.place = r[:place]
|
34
|
+
protocol.file = r[:file]
|
35
|
+
protocol.procedure_stage_date = convert r[:procedure_stage_date], :time
|
36
|
+
protocol.sign_protocol_date = convert r[:sign_protocol_date], :date
|
37
|
+
protocol
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module B2bCenterApi
|
2
|
+
module WebService
|
3
|
+
module Types
|
4
|
+
class OkdpRow < WebService::BaseType
|
5
|
+
# @return [Integer] ID
|
6
|
+
attr_accessor :id
|
7
|
+
# @return [Integer] родительский ID
|
8
|
+
attr_accessor :parent_id
|
9
|
+
# @return [String] Наименование
|
10
|
+
attr_accessor :name
|
11
|
+
# @return [OkdpRow]
|
12
|
+
def self.from_response(response)
|
13
|
+
r = response.result
|
14
|
+
return if r.nil?
|
15
|
+
Array(r[:okdp_rows]).map do |okdp|
|
16
|
+
o = OkdpRow.new
|
17
|
+
o.id = okdp[:id]
|
18
|
+
o.parent_id = okdp[:parent_id]
|
19
|
+
o.name = okdp[:name]
|
20
|
+
o
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module B2bCenterApi
|
2
|
+
module WebService
|
3
|
+
module Types
|
4
|
+
# Список услуг
|
5
|
+
class ServiceRow < WebService::BaseType
|
6
|
+
# @return [Integer] Номер услуги
|
7
|
+
attr_reader :id
|
8
|
+
# @return [String] Название услуги
|
9
|
+
attr_reader :name
|
10
|
+
|
11
|
+
def initialize(args = {})
|
12
|
+
@id = args[:id]
|
13
|
+
@name = args[:name]
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: b2b_center_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Archakov Aleksandr
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-12-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: savon
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 2.10.0
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 2.10.0
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: socksify
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,14 +98,21 @@ files:
|
|
112
98
|
- lib/b2b_center_api/web_service/response.rb
|
113
99
|
- lib/b2b_center_api/web_service/type_cast.rb
|
114
100
|
- lib/b2b_center_api/web_service/types.rb
|
101
|
+
- lib/b2b_center_api/web_service/types/address_data.rb
|
115
102
|
- lib/b2b_center_api/web_service/types/array_of_ids.rb
|
103
|
+
- lib/b2b_center_api/web_service/types/array_of_services.rb
|
104
|
+
- lib/b2b_center_api/web_service/types/attachment_name.rb
|
116
105
|
- lib/b2b_center_api/web_service/types/auction_data.rb
|
117
106
|
- lib/b2b_center_api/web_service/types/auction_offer.rb
|
118
107
|
- lib/b2b_center_api/web_service/types/auction_participant.rb
|
108
|
+
- lib/b2b_center_api/web_service/types/auction_participants_protocol.rb
|
119
109
|
- lib/b2b_center_api/web_service/types/b2b_file.rb
|
120
110
|
- lib/b2b_center_api/web_service/types/firm_data.rb
|
121
111
|
- lib/b2b_center_api/web_service/types/firm_info.rb
|
112
|
+
- lib/b2b_center_api/web_service/types/id.rb
|
122
113
|
- lib/b2b_center_api/web_service/types/lot.rb
|
114
|
+
- lib/b2b_center_api/web_service/types/okdp_rows.rb
|
115
|
+
- lib/b2b_center_api/web_service/types/service_row.rb
|
123
116
|
- lib/b2b_center_api/web_service/types/tender_data.rb
|
124
117
|
- lib/b2b_center_api/web_service/types/tender_lot_result.rb
|
125
118
|
- lib/b2b_center_api/web_service/types/tender_lot_results.rb
|
@@ -148,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
148
141
|
version: '0'
|
149
142
|
requirements: []
|
150
143
|
rubyforge_project:
|
151
|
-
rubygems_version: 2.6.
|
144
|
+
rubygems_version: 2.6.13
|
152
145
|
signing_key:
|
153
146
|
specification_version: 4
|
154
147
|
summary: B2B Center API
|