agris 0.4.10 → 0.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: acbb4d3729fe7cee9f14802aa26851c60758695c
4
- data.tar.gz: 2de9591d6d5558d119c53210eaa3d6868e7c1792
2
+ SHA256:
3
+ metadata.gz: 9346aa5a634ee259b9700da186a851f10066701821027a7387807ebfc523ffde
4
+ data.tar.gz: a76a180c7dd9a47f524d019d532714a5eccf2a0824622690d36b89c06f5e8271
5
5
  SHA512:
6
- metadata.gz: eeb678465c2a58a7194a02ed9d740c982ef392c5935baeb55ad2162c1411b7be424a1d657f82c4b2acbbabbfa879c24519463f4554282ca0f218f94b6da202dc
7
- data.tar.gz: 460386f7e225998d81063d5f1a7d84fc063685f5a0e689bc53be3d7132fb714649f82f5cffb06cb7aed5c3af5136b96d56456f02845baafb9da02c96349dd597
6
+ metadata.gz: f073b269b7842c8b63a73fc7b98e98e1764b2f4fded9c050254e1df5a2af38b95172fc645aefeb138efab8be35b94c2826040700da92a37a7b81039d82deb6c7
7
+ data.tar.gz: 8af741e013f9ef4b8c1631b958ed42af74c1dfac361e0b766966ca38480454d33919139532d86088031d5d80f623153e4a84c1bfa0c03ea423072c6aef1b4e37
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', '~> 1.14'
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,121 @@
1
+ # frozen_string_literal: true
2
+ module Agris
3
+ module Api
4
+ module Grain
5
+ class GradeFactors
6
+ include XmlModel
7
+
8
+ ATTRIBUTE_NAMES = %w(
9
+ discount_code_1
10
+ discount_code_2
11
+ discount_code_3
12
+ discount_code_4
13
+ discount_code_5
14
+ discount_code_6
15
+ discount_code_7
16
+ discount_code_8
17
+ discount_code_9
18
+ discount_code_10
19
+ discount_code_11
20
+ discount_code_12
21
+ discount_code_13
22
+ discount_code_14
23
+ discount_code_15
24
+ discount_code_16
25
+ discount_code_17
26
+ discount_code_18
27
+ discount_code_19
28
+ discount_code_20
29
+ discount_code_21
30
+ discount_code_22
31
+ discount_code_23
32
+ discount_code_24
33
+ discount_code_25
34
+ discount_code_26
35
+ discount_code_27
36
+ discount_code_28
37
+ discount_code_29
38
+ discount_code_30
39
+ discount_code_31
40
+ discount_code_32
41
+ discount_code_33
42
+ grade_factor_1
43
+ grade_factor_2
44
+ grade_factor_3
45
+ grade_factor_4
46
+ grade_factor_5
47
+ grade_factor_6
48
+ grade_factor_7
49
+ grade_factor_8
50
+ grade_factor_9
51
+ grade_factor_10
52
+ grade_factor_11
53
+ grade_factor_12
54
+ grade_factor_13
55
+ grade_factor_14
56
+ grade_factor_15
57
+ grade_factor_16
58
+ grade_factor_17
59
+ grade_factor_18
60
+ grade_factor_19
61
+ grade_factor_20
62
+ grade_factor_21
63
+ grade_factor_22
64
+ grade_factor_23
65
+ grade_factor_24
66
+ grade_factor_25
67
+ grade_factor_26
68
+ grade_factor_27
69
+ grade_factor_28
70
+ grade_factor_29
71
+ grade_factor_30
72
+ grade_factor_31
73
+ grade_factor_32
74
+ grade_factor_33
75
+ reserved_1
76
+ reserved_2
77
+ reserved_3
78
+ reserved_4
79
+ reserved_5
80
+ reserved_6
81
+ reserved_7
82
+ reserved_8
83
+ reserved_9
84
+ reserved_10
85
+ reserved_11
86
+ reserved_12
87
+ reserved_13
88
+ reserved_14
89
+ reserved_15
90
+ reserved_16
91
+ reserved_17
92
+ reserved_18
93
+ reserved_19
94
+ reserved_20
95
+ reserved_21
96
+ reserved_22
97
+ reserved_23
98
+ reserved_24
99
+ reserved_25
100
+ reserved_26
101
+ reserved_27
102
+ reserved_28
103
+ reserved_29
104
+ reserved_30
105
+ reserved_31
106
+ reserved_32
107
+ reserved_33
108
+ ).freeze
109
+
110
+ attr_reader :record_type
111
+ attr_accessor(*ATTRIBUTE_NAMES)
112
+
113
+ def initialize(hash = {})
114
+ super
115
+
116
+ @record_type = 'GRNT0G'
117
+ end
118
+ end
119
+ end
120
+ end
121
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Agris
4
+ module Api
5
+ module Grain
6
+ module GrainModule
7
+ def create(item)
8
+ import(item)
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,86 @@
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
76
+
77
+ # I. reserved 1
78
+ # V. DISC TABLES
79
+ # X. ADD UPDATE OPTION
80
+ # Z. reserved 2
81
+ # AD. UPDATE FLD SELECT
82
+ # AF. FIRST 20 DISCOUNT TAB
83
+ # AG. LAST 20 DISCOUNT TABL
84
+ # AH. reserved 3
85
+ # AI. reserved 4
86
+
@@ -0,0 +1,120 @@
1
+ # frozen_string_literal: true
2
+ module Agris
3
+ module Api
4
+ module Grain
5
+ class NewContractSchedule
6
+ include XmlModel
7
+
8
+ apply_status
9
+
10
+ ATTRIBUTE_NAMES = %w(
11
+ price_status
12
+ apply_name_id
13
+ other_name_id
14
+ inventory_location
15
+ item_number
16
+ state_county
17
+ board_name
18
+ futures_month
19
+ spread_from
20
+ spread_type
21
+ delivery_date
22
+ due_date
23
+ pricing_date
24
+ expire_date
25
+ scheduled_quantity
26
+ scheduled_loads
27
+ contract_price
28
+ futures_price
29
+ basis_price
30
+ freight_price
31
+ brokerage_price
32
+ other_price
33
+ misc_price_1
34
+ misc_price_2
35
+ misc_price_3
36
+ misc_price_4
37
+ misc_price_5
38
+ misc_price_6
39
+ misc_price_7
40
+ misc_price_8
41
+ misc_price_9
42
+ misc_price_10
43
+ misc_price_11
44
+ misc_price_12
45
+ defer_canceled_date
46
+ pricing_type
47
+ shipper_id
48
+ actual_freight_rate
49
+ additional_freight
50
+ exec_id
51
+ trade_id
52
+ variety
53
+ class
54
+ number
55
+ dp_table
56
+ schedule_code
57
+ weight_base
58
+ grade_base
59
+ signed
60
+ ship_to_from_id
61
+ misc_id
62
+ agent_broker_id
63
+ external_contract_no
64
+ delivery_terms
65
+ invoice_terms
66
+ advance_percent
67
+ under_fill_tolerance_percent
68
+ over_fill_tolerance_percent
69
+ under_fill_tolerance_units
70
+ over_fill_tolerance_units
71
+ price_uom
72
+ freight_uom
73
+ basis_uom
74
+ futures_currency
75
+ futures_exchange_rate
76
+ futures_exchange_rate_date
77
+ basis_currency
78
+ basis_exchange_rate
79
+ basis_exchange_rate_date
80
+ price_currency
81
+ exchange_rate
82
+ exchange_rate_date
83
+ freight_currency
84
+ freight_exchange_rate
85
+ freight_exchange_rate_date
86
+ primary_schedule
87
+ option_quantity
88
+ ).freeze
89
+
90
+ attr_accessor(*ATTRIBUTE_NAMES)
91
+
92
+ def initialize(hash = {})
93
+ super
94
+
95
+ @record_type = 'GRNC1'
96
+ end
97
+ end
98
+ end
99
+ end
100
+ end
101
+
102
+ # salesperson_code
103
+ # merchandiser_code
104
+
105
+ # H. tran code 1
106
+ # I. tran code 2
107
+ # J. tran code 3
108
+ # K. tran code 4
109
+ # L. tran code 5
110
+ # AX. UPDATE FLD SELECT 1
111
+ # AY. UPDATE FLD SELECT 2
112
+ # AZ. UPDATE FLD SELECT 3
113
+ # BA. DISC TABLES
114
+ # BL. TRANSPORT MODE
115
+ # CH. FIRST 20 DISCOUNT TAB
116
+ # CK. LAST 20 DISCOUNT TABL
117
+ # CL. reserved 1
118
+ # CM. reserved 2
119
+ # CN. reserved 3
120
+ # CO. reserved 4
@@ -1,11 +1,16 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Agris
3
4
  module Api
4
5
  module Grain
5
6
  autoload :Commodity, 'agris/api/grain/commodity'
6
7
  autoload :CommodityCodes, 'agris/api/grain/commodity_codes'
7
8
  autoload :Contract, 'agris/api/grain/contract'
9
+ autoload :GradeFactors, 'agris/api/grain/grade_factors'
10
+ autoload :GrainModule, 'agris/api/grain/grain_module'
8
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'
9
14
  autoload :NewTicket, 'agris/api/grain/new_ticket'
10
15
  autoload :NewTicketApplication, 'agris/api/grain/new_ticket_application'
11
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
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Agris
3
- VERSION = '0.4.10'
3
+ VERSION = '0.6.0'
4
4
  end
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.10
4
+ version: 0.6.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: 2021-03-02 00:00:00.000000000 Z
12
+ date: 2024-02-24 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: '1.14'
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: '1.14'
41
+ version: 2.3.7
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: pry-byebug
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -170,6 +170,10 @@ files:
170
170
  - lib/agris/api/grain/commodity.rb
171
171
  - lib/agris/api/grain/commodity_codes.rb
172
172
  - lib/agris/api/grain/contract.rb
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
173
177
  - lib/agris/api/grain/new_ticket.rb
174
178
  - lib/agris/api/grain/new_ticket_application.rb
175
179
  - lib/agris/api/grain/new_ticket_remark.rb
@@ -243,8 +247,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
243
247
  - !ruby/object:Gem::Version
244
248
  version: '0'
245
249
  requirements: []
246
- rubyforge_project:
247
- rubygems_version: 2.5.2
250
+ rubygems_version: 3.3.7
248
251
  signing_key:
249
252
  specification_version: 4
250
253
  summary: Ruby client library for Agris API