agris 0.5.0 → 0.7.0
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/agris.gemspec +1 -1
- data/lib/agris/api/document_query_response.rb +5 -23
- data/lib/agris/api/grain/grain_module.rb +13 -0
- data/lib/agris/api/grain/new_contract.rb +75 -0
- data/lib/agris/api/grain/new_contract_schedule.rb +117 -0
- data/lib/agris/api/grain/new_contract_schedule_transcode.rb +24 -0
- data/lib/agris/api/grain.rb +4 -0
- data/lib/agris/client.rb +1 -0
- data/lib/agris/version.rb +1 -1
- metadata +9 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ad525261a2308be226ddc7a4c48ae202b9f8842d9ccd6a1e826cab840fe37e79
|
|
4
|
+
data.tar.gz: 4582062439a69b36d477c84e119e616b71ec929349a58e28c6cbbbe72b50e1c6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f2e8b9099f3061fea68504b308b9806bf0159951bfebe3c74f80967d63edd64a78fabb40b68d35def71db31b043650280dec2617d4e624186894c83981eae128
|
|
7
|
+
data.tar.gz: 93b15004dd72be243dab774372a29f4a1f2e7c21a09a445608814b9b7bd5af70079868c5d92a79683bb22fdcce46fd6c7beca1af61e78ee0cbedafa8bae42d69
|
data/agris.gemspec
CHANGED
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
|
|
23
23
|
spec.add_dependency 'savon', '~> 2.11'
|
|
24
24
|
|
|
25
|
-
spec.add_development_dependency 'bundler', '~>
|
|
25
|
+
spec.add_development_dependency 'bundler', '~> 2.3.7'
|
|
26
26
|
spec.add_development_dependency 'pry-byebug'
|
|
27
27
|
spec.add_development_dependency 'rake', '~> 12.3.3'
|
|
28
28
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
|
@@ -9,11 +9,7 @@ module Agris
|
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
def last_request_date_time
|
|
12
|
-
Time.parse(
|
|
13
|
-
@output_hash[pluralized_resource_name] \
|
|
14
|
-
['system'] \
|
|
15
|
-
['lastrequestdatetime']
|
|
16
|
-
)
|
|
12
|
+
Time.parse(@output_hash[pluralized_resource_name]['system']['lastrequestdatetime'])
|
|
17
13
|
end
|
|
18
14
|
|
|
19
15
|
def documents
|
|
@@ -27,18 +23,13 @@ module Agris
|
|
|
27
23
|
protected
|
|
28
24
|
|
|
29
25
|
def parse
|
|
30
|
-
resources
|
|
31
|
-
.map do |order_hash|
|
|
26
|
+
resources.map do |order_hash|
|
|
32
27
|
resource_type.from_xml_hash(order_hash)
|
|
33
28
|
end
|
|
34
29
|
end
|
|
35
30
|
|
|
36
31
|
def resource_name
|
|
37
|
-
@resource_name ||= resource_type
|
|
38
|
-
.name
|
|
39
|
-
.split('::')
|
|
40
|
-
.last
|
|
41
|
-
.downcase
|
|
32
|
+
@resource_name ||= resource_type.name.split('::').last.downcase
|
|
42
33
|
end
|
|
43
34
|
|
|
44
35
|
def pluralized_resource_name
|
|
@@ -46,21 +37,12 @@ module Agris
|
|
|
46
37
|
end
|
|
47
38
|
|
|
48
39
|
def resource_type
|
|
49
|
-
@resource_type ||= Object.const_get(
|
|
50
|
-
self
|
|
51
|
-
.class
|
|
52
|
-
.name
|
|
53
|
-
.split('::')
|
|
54
|
-
.last
|
|
55
|
-
.chomp('ExtractResponse')
|
|
56
|
-
)
|
|
40
|
+
@resource_type ||= Object.const_get(self.class.name.split('::').last.chomp('ExtractResponse'))
|
|
57
41
|
end
|
|
58
42
|
|
|
59
43
|
def resources
|
|
60
44
|
# Wrap and flatten for single responses
|
|
61
|
-
[@output_hash[pluralized_resource_name][resource_name]]
|
|
62
|
-
.compact
|
|
63
|
-
.flatten
|
|
45
|
+
[@output_hash[pluralized_resource_name][resource_name]].compact.flatten
|
|
64
46
|
end
|
|
65
47
|
end
|
|
66
48
|
end
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Agris
|
|
4
|
+
module Api
|
|
5
|
+
module Grain
|
|
6
|
+
class NewContract
|
|
7
|
+
include XmlModel
|
|
8
|
+
|
|
9
|
+
ATTRIBUTE_NAMES = %w(
|
|
10
|
+
purchase_sales
|
|
11
|
+
contract_location
|
|
12
|
+
contract_number
|
|
13
|
+
contract_type
|
|
14
|
+
commodity
|
|
15
|
+
variety
|
|
16
|
+
class
|
|
17
|
+
status
|
|
18
|
+
quantity_base
|
|
19
|
+
weight_base
|
|
20
|
+
grade_base
|
|
21
|
+
signed
|
|
22
|
+
date_written
|
|
23
|
+
contract_name_id
|
|
24
|
+
ship_to_from_id
|
|
25
|
+
misc_id
|
|
26
|
+
agent_broker_id
|
|
27
|
+
external_contract_no
|
|
28
|
+
delivery_terms
|
|
29
|
+
transport_mode
|
|
30
|
+
dp_table
|
|
31
|
+
invoice_terms
|
|
32
|
+
contract_quantity
|
|
33
|
+
contract_loads
|
|
34
|
+
advance_percent
|
|
35
|
+
qty_uom
|
|
36
|
+
).freeze
|
|
37
|
+
|
|
38
|
+
attr_reader :record_type
|
|
39
|
+
attr_accessor(*ATTRIBUTE_NAMES)
|
|
40
|
+
|
|
41
|
+
def initialize(hash = {})
|
|
42
|
+
super
|
|
43
|
+
|
|
44
|
+
@record_type = 'GRNC0'
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def add_schedule(schedule)
|
|
48
|
+
@schedules ||= []
|
|
49
|
+
@schedules << schedule
|
|
50
|
+
|
|
51
|
+
self
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def add_remark(remark)
|
|
55
|
+
@remarks ||= []
|
|
56
|
+
@remarks << remark
|
|
57
|
+
|
|
58
|
+
self
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def records
|
|
62
|
+
[self] + schedules + remarks
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def remarks
|
|
66
|
+
@remarks || []
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def xml_ignore_attributes
|
|
70
|
+
%i(schedules remarks)
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module Agris
|
|
3
|
+
module Api
|
|
4
|
+
module Grain
|
|
5
|
+
class NewContractSchedule
|
|
6
|
+
include XmlModel
|
|
7
|
+
|
|
8
|
+
ATTRIBUTE_NAMES = %w(
|
|
9
|
+
price_status
|
|
10
|
+
apply_name_id
|
|
11
|
+
other_name_id
|
|
12
|
+
inventory_location
|
|
13
|
+
item_number
|
|
14
|
+
state_county
|
|
15
|
+
board_name
|
|
16
|
+
futures_month
|
|
17
|
+
spread_from
|
|
18
|
+
spread_type
|
|
19
|
+
delivery_date
|
|
20
|
+
due_date
|
|
21
|
+
pricing_date
|
|
22
|
+
expire_date
|
|
23
|
+
scheduled_quantity
|
|
24
|
+
scheduled_loads
|
|
25
|
+
contract_price
|
|
26
|
+
futures_price
|
|
27
|
+
basis_price
|
|
28
|
+
freight_price
|
|
29
|
+
brokerage_price
|
|
30
|
+
other_price
|
|
31
|
+
misc_price_1
|
|
32
|
+
misc_price_2
|
|
33
|
+
misc_price_3
|
|
34
|
+
misc_price_4
|
|
35
|
+
misc_price_5
|
|
36
|
+
misc_price_6
|
|
37
|
+
misc_price_7
|
|
38
|
+
misc_price_8
|
|
39
|
+
misc_price_9
|
|
40
|
+
misc_price_10
|
|
41
|
+
misc_price_11
|
|
42
|
+
misc_price_12
|
|
43
|
+
defer_canceled_date
|
|
44
|
+
pricing_type
|
|
45
|
+
shipper_id
|
|
46
|
+
actual_freight_rate
|
|
47
|
+
additional_freight
|
|
48
|
+
exec_id
|
|
49
|
+
trade_id
|
|
50
|
+
variety
|
|
51
|
+
class
|
|
52
|
+
number
|
|
53
|
+
dp_table
|
|
54
|
+
schedule_code
|
|
55
|
+
weight_base
|
|
56
|
+
grade_base
|
|
57
|
+
signed
|
|
58
|
+
ship_to_from_id
|
|
59
|
+
misc_id
|
|
60
|
+
agent_broker_id
|
|
61
|
+
external_contract_no
|
|
62
|
+
delivery_terms
|
|
63
|
+
invoice_terms
|
|
64
|
+
advance_percent
|
|
65
|
+
under_fill_tolerance_percent
|
|
66
|
+
over_fill_tolerance_percent
|
|
67
|
+
under_fill_tolerance_units
|
|
68
|
+
over_fill_tolerance_units
|
|
69
|
+
price_uom
|
|
70
|
+
freight_uom
|
|
71
|
+
basis_uom
|
|
72
|
+
futures_currency
|
|
73
|
+
futures_exchange_rate
|
|
74
|
+
futures_exchange_rate_date
|
|
75
|
+
basis_currency
|
|
76
|
+
basis_exchange_rate
|
|
77
|
+
basis_exchange_rate_date
|
|
78
|
+
price_currency
|
|
79
|
+
exchange_rate
|
|
80
|
+
exchange_rate_date
|
|
81
|
+
freight_currency
|
|
82
|
+
freight_exchange_rate
|
|
83
|
+
freight_exchange_rate_date
|
|
84
|
+
primary_schedule
|
|
85
|
+
option_quantity
|
|
86
|
+
).freeze
|
|
87
|
+
|
|
88
|
+
attr_accessor(*ATTRIBUTE_NAMES)
|
|
89
|
+
|
|
90
|
+
def initialize(hash = {})
|
|
91
|
+
super
|
|
92
|
+
|
|
93
|
+
@record_type = 'GRNC1'
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def add_trans_code(trans_code)
|
|
97
|
+
@trans_codes ||= []
|
|
98
|
+
@trans_codes << trans_code
|
|
99
|
+
|
|
100
|
+
self
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def records
|
|
104
|
+
[self] + trans_codes
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def trans_codes
|
|
108
|
+
@trans_codes || []
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
def xml_ignore_attributes
|
|
112
|
+
%i(trans_codes)
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module Agris
|
|
3
|
+
module Api
|
|
4
|
+
module Grain
|
|
5
|
+
class NewContractScheduleTranscode
|
|
6
|
+
include XmlModel
|
|
7
|
+
|
|
8
|
+
ATTRIBUTE_NAMES = %w(
|
|
9
|
+
number
|
|
10
|
+
code
|
|
11
|
+
description
|
|
12
|
+
).freeze
|
|
13
|
+
|
|
14
|
+
attr_reader :record_type
|
|
15
|
+
|
|
16
|
+
def initialize(hash = {})
|
|
17
|
+
super
|
|
18
|
+
|
|
19
|
+
@record_type = 'GRNC2'
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
data/lib/agris/api/grain.rb
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
+
|
|
2
3
|
module Agris
|
|
3
4
|
module Api
|
|
4
5
|
module Grain
|
|
@@ -6,7 +7,10 @@ module Agris
|
|
|
6
7
|
autoload :CommodityCodes, 'agris/api/grain/commodity_codes'
|
|
7
8
|
autoload :Contract, 'agris/api/grain/contract'
|
|
8
9
|
autoload :GradeFactors, 'agris/api/grain/grade_factors'
|
|
10
|
+
autoload :GrainModule, 'agris/api/grain/grain_module'
|
|
9
11
|
autoload :PurchaseContracts, 'agris/api/grain/purchase_contracts'
|
|
12
|
+
autoload :NewContract, 'agris/api/grain/new_contract'
|
|
13
|
+
autoload :NewContractSchedule, 'agris/api/grain/new_contract_schedule'
|
|
10
14
|
autoload :NewTicket, 'agris/api/grain/new_ticket'
|
|
11
15
|
autoload :NewTicketApplication, 'agris/api/grain/new_ticket_application'
|
|
12
16
|
autoload :NewTicketRemark, 'agris/api/grain/new_ticket_remark'
|
data/lib/agris/client.rb
CHANGED
|
@@ -4,6 +4,7 @@ module Agris
|
|
|
4
4
|
include Api::AccountsPayables::Vouchers
|
|
5
5
|
include Api::AccountsReceivables::Invoices
|
|
6
6
|
include Api::Grain::CommodityCodes
|
|
7
|
+
include Api::Grain::GrainModule
|
|
7
8
|
include Api::Grain::PurchaseContracts
|
|
8
9
|
include Api::Grain::SalesContracts
|
|
9
10
|
include Api::Grain::Tickets
|
data/lib/agris/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: agris
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.7.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- John Gray
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: exe
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2024-02-25 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: savon
|
|
@@ -31,14 +31,14 @@ dependencies:
|
|
|
31
31
|
requirements:
|
|
32
32
|
- - "~>"
|
|
33
33
|
- !ruby/object:Gem::Version
|
|
34
|
-
version:
|
|
34
|
+
version: 2.3.7
|
|
35
35
|
type: :development
|
|
36
36
|
prerelease: false
|
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
|
38
38
|
requirements:
|
|
39
39
|
- - "~>"
|
|
40
40
|
- !ruby/object:Gem::Version
|
|
41
|
-
version:
|
|
41
|
+
version: 2.3.7
|
|
42
42
|
- !ruby/object:Gem::Dependency
|
|
43
43
|
name: pry-byebug
|
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -171,6 +171,10 @@ files:
|
|
|
171
171
|
- lib/agris/api/grain/commodity_codes.rb
|
|
172
172
|
- lib/agris/api/grain/contract.rb
|
|
173
173
|
- lib/agris/api/grain/grade_factors.rb
|
|
174
|
+
- lib/agris/api/grain/grain_module.rb
|
|
175
|
+
- lib/agris/api/grain/new_contract.rb
|
|
176
|
+
- lib/agris/api/grain/new_contract_schedule.rb
|
|
177
|
+
- lib/agris/api/grain/new_contract_schedule_transcode.rb
|
|
174
178
|
- lib/agris/api/grain/new_ticket.rb
|
|
175
179
|
- lib/agris/api/grain/new_ticket_application.rb
|
|
176
180
|
- lib/agris/api/grain/new_ticket_remark.rb
|
|
@@ -244,8 +248,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
244
248
|
- !ruby/object:Gem::Version
|
|
245
249
|
version: '0'
|
|
246
250
|
requirements: []
|
|
247
|
-
|
|
248
|
-
rubygems_version: 2.7.6.2
|
|
251
|
+
rubygems_version: 3.3.7
|
|
249
252
|
signing_key:
|
|
250
253
|
specification_version: 4
|
|
251
254
|
summary: Ruby client library for Agris API
|