agris 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 45f30d154b9b21ea93e553498193a724c6c50240854b85d1c1c54372dcb9e629
4
- data.tar.gz: 95fcc1ca1343437d9c30d6862a8c95577547ccf03e536d8b57243abe133294e9
3
+ metadata.gz: 9346aa5a634ee259b9700da186a851f10066701821027a7387807ebfc523ffde
4
+ data.tar.gz: a76a180c7dd9a47f524d019d532714a5eccf2a0824622690d36b89c06f5e8271
5
5
  SHA512:
6
- metadata.gz: f539022ea4d98242abd8fe26d02b92929d732e20c46f73031026691aa27c3bb7ea0e69ab9a8a6abf21a7927a36feaa27eeb6b14d3a398943493ee2ab209da9de
7
- data.tar.gz: 76626a9230d6b03327ddf6191291787646392ad5515b650b2f117d23acf89965ee11d7d02d73dda5efc6470bed4ecefdfd9025d0194536fa869c0c1cfe7f2681
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,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,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
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Agris
3
- VERSION = '0.5.0'
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.5.0
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: 2022-04-11 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
@@ -171,6 +171,9 @@ 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
174
177
  - lib/agris/api/grain/new_ticket.rb
175
178
  - lib/agris/api/grain/new_ticket_application.rb
176
179
  - lib/agris/api/grain/new_ticket_remark.rb
@@ -244,8 +247,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
244
247
  - !ruby/object:Gem::Version
245
248
  version: '0'
246
249
  requirements: []
247
- rubyforge_project:
248
- rubygems_version: 2.7.6.2
250
+ rubygems_version: 3.3.7
249
251
  signing_key:
250
252
  specification_version: 4
251
253
  summary: Ruby client library for Agris API