b2b_center_api 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|