agris 0.4.1 → 0.4.6

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
2
  SHA1:
3
- metadata.gz: bad85468af08e57ae3818081217dbf90dc1a00e8
4
- data.tar.gz: 1f59282723ace262f603e98b6fc604a12125fb05
3
+ metadata.gz: 0f3658a027b00d5a197bde8b526403608e3957b0
4
+ data.tar.gz: 9d26a844edf3668282a51403248a8f00ac4d179b
5
5
  SHA512:
6
- metadata.gz: df5fd6da2dde74630a6110144026fe3f80a78d687aa93d87a0f5689a24a81e7b58a78fd8131fd5986b11a2ecfd9055b38a6d0f81775deee698be2f21dd01d574
7
- data.tar.gz: 604d253f9aa5a641a5d6621bf9d3f3582b401e278ccbe2cac12d93d9e4c9582b53176462a96f14914d9835b578eb1a99b06028a0970f0e70f5c0ab036240f1b4
6
+ metadata.gz: f68eb9fe1188ca3bff9e761745d6f2a7280a581da452206f80671d7ce694a1576fbf5f4555ac056ab8fdf278ce77c2a23669223e086413c2a68a7844e9c24019
7
+ data.tar.gz: 1b1059533e6629cc2ae5da8d6d152f4578909b2427c220b1620a19c4ad3d103c45037bfdf51e1393056142447b16407d9dde782c9219af5da8b10add742b56c8
@@ -10,12 +10,6 @@ jobs:
10
10
 
11
11
  steps:
12
12
  - checkout
13
-
14
- # Download and cache dependencies
15
- - restore_cache:
16
- keys:
17
- - v1-dependencies-{{ checksum "Gemfile.lock" }}
18
-
19
13
  - run:
20
14
  name: install dependencies
21
15
  command: |
@@ -26,10 +20,6 @@ jobs:
26
20
  command: |
27
21
  curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
28
22
  chmod +x ./cc-test-reporter
29
- - save_cache:
30
- paths:
31
- - ./vendor/bundle
32
- key: v1-dependencies-{{ checksum "Gemfile.lock" }}
33
23
 
34
24
  # run tests!
35
25
  - run:
@@ -26,8 +26,8 @@ Gem::Specification.new do |spec|
26
26
  spec.add_development_dependency 'pry-byebug'
27
27
  spec.add_development_dependency 'rake', '~> 10.0'
28
28
  spec.add_development_dependency 'rspec', '~> 3.0'
29
- spec.add_development_dependency 'rspec_junit_formatter'
29
+ spec.add_development_dependency 'rspec_junit_formatter', '~> 0.4.1'
30
30
  spec.add_development_dependency 'rubocop', '0.54.0'
31
- spec.add_development_dependency 'simplecov'
31
+ spec.add_development_dependency 'simplecov', '0.17'
32
32
  spec.add_development_dependency 'webmock', '~> 2.3'
33
33
  end
@@ -71,7 +71,8 @@ module Agris
71
71
  unique_id
72
72
  ).freeze
73
73
 
74
- attr_reader(*(%w(line_items) + ATTRIBUTE_NAMES))
74
+ attr_reader :record_type
75
+ attr_accessor(*(%w(line_items) + ATTRIBUTE_NAMES))
75
76
 
76
77
  def self.from_xml_hash(hash)
77
78
  super.tap do |document|
@@ -90,7 +91,39 @@ module Agris
90
91
  def initialize(hash = {})
91
92
  super
92
93
 
94
+ @record_type = 'ACRI0'
93
95
  @line_items = []
96
+ @general_ledger_details = []
97
+ end
98
+
99
+ def add_line_item(line_item)
100
+ @line_items ||= []
101
+ @line_items << line_item
102
+
103
+ self
104
+ end
105
+
106
+ def records
107
+ [self] + line_items + general_ledger_details
108
+ end
109
+
110
+ def line_items
111
+ @line_items || []
112
+ end
113
+
114
+ def general_ledger_details
115
+ @general_ledger_details || []
116
+ end
117
+
118
+ def xml_ignore_attributes
119
+ %i(line_items general_ledger_details)
120
+ end
121
+
122
+ def add_general_ledger_detail(general_ledger_detail)
123
+ @general_ledger_details ||= []
124
+ @general_ledger_details << general_ledger_detail
125
+
126
+ self
94
127
  end
95
128
 
96
129
  class LineItem
@@ -158,7 +191,24 @@ module Agris
158
191
  cost_adjustment_description
159
192
  ).freeze
160
193
 
161
- attr_reader(*ATTRIBUTE_NAMES)
194
+ attr_accessor(*ATTRIBUTE_NAMES)
195
+ end
196
+
197
+ class GeneralLedgerDetail
198
+ include XmlModel
199
+
200
+ ATTRIBUTE_NAMES = %w(
201
+ distribution_amount
202
+ gl_account_main_code
203
+ gl_account_detail_code
204
+ record_type
205
+ ).freeze
206
+
207
+ def initialize(hash = {})
208
+ super(hash)
209
+
210
+ @record_type = 'ACRI2'
211
+ end
162
212
  end
163
213
  end
164
214
  end
@@ -23,6 +23,10 @@ module Agris
23
23
  Agris::Api::AccountsReceivables::Invoice
24
24
  )
25
25
  end
26
+
27
+ def create_invoice(new_invoice)
28
+ import(new_invoice)
29
+ end
26
30
  end
27
31
  end
28
32
  end
@@ -20,6 +20,10 @@ module Agris
20
20
  @documents ||= parse
21
21
  end
22
22
 
23
+ def remarks
24
+ resources.map { |r| r['remarks'] }
25
+ end
26
+
23
27
  protected
24
28
 
25
29
  def parse
@@ -62,6 +62,7 @@ module Agris
62
62
  delete
63
63
  last_change_user_id
64
64
  last_change_username
65
+ remarks
65
66
  ).freeze
66
67
 
67
68
  attr_reader(*(%w(schedules) + ATTRIBUTE_NAMES))
@@ -101,11 +102,15 @@ module Agris
101
102
 
102
103
  # This adds the transcode attributes like salesperson into the schedule
103
104
  def self.add_transcodes_to_schedule(schedule)
104
- schedule['trancodes']['trancode'].each do |trancode|
105
- label_code = trancode['label'].downcase + 'code'
106
- schedule[label_code] = trancode['code']
107
- label_description = trancode['label'].downcase + 'description'
108
- schedule[label_description] = trancode['description']
105
+ if schedule['trancodes']
106
+ trancodes = schedule['trancodes']['trancode']
107
+ trancodes = [trancodes] unless trancodes.class == Array
108
+ trancodes.each do |trancode|
109
+ label_code = trancode['label'].downcase + 'code'
110
+ schedule[label_code] = trancode['code']
111
+ label_description = trancode['label'].downcase + 'description'
112
+ schedule[label_description] = trancode['description']
113
+ end
109
114
  end
110
115
  schedule
111
116
  end
@@ -27,7 +27,7 @@ module Agris
27
27
  def context_hash
28
28
  {
29
29
  login: {
30
- :@dataset => @context.dataset,
30
+ :@dataset => @dataset || @context.default_dataset,
31
31
  :@databasetype => 'SQL',
32
32
  :@database => @context.database,
33
33
  :@userid => @context.userid,
@@ -17,12 +17,14 @@ module Agris
17
17
  def initialize(
18
18
  context = Agris.context,
19
19
  credentials = Agris.credentials,
20
- options = {}
20
+ options = {},
21
+ dataset = context.default_dataset
21
22
  )
22
23
  @context = context
23
24
  @logger = options[:logger] || Agris.logger
24
25
  @request_type = options[:request_type] || Agris.request_type
25
26
  @proxy_url = options.fetch(:proxy_url, Agris.proxy_url)
27
+ @dataset = dataset
26
28
  @request = @request_type.new(
27
29
  @context.base_url, credentials, @logger, @proxy_url
28
30
  )
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  module Agris
3
3
  Context = Struct.new(
4
- :base_url, :dataset, :datapath, :database, :userid, :password
4
+ :base_url, :default_dataset, :datapath, :database, :userid, :password
5
5
  )
6
6
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Agris
3
- VERSION = '0.4.1'
3
+ VERSION = '0.4.6'
4
4
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: agris
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Gray
8
8
  - Joseph Bridgwater-Rowe
9
- autorequire:
9
+ autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2019-05-07 00:00:00.000000000 Z
12
+ date: 2020-06-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: savon
@@ -85,16 +85,16 @@ dependencies:
85
85
  name: rspec_junit_formatter
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - ">="
88
+ - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: '0'
90
+ version: 0.4.1
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - ">="
95
+ - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '0'
97
+ version: 0.4.1
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: rubocop
100
100
  requirement: !ruby/object:Gem::Requirement
@@ -113,16 +113,16 @@ dependencies:
113
113
  name: simplecov
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - ">="
116
+ - - '='
117
117
  - !ruby/object:Gem::Version
118
- version: '0'
118
+ version: '0.17'
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - ">="
123
+ - - '='
124
124
  - !ruby/object:Gem::Version
125
- version: '0'
125
+ version: '0.17'
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: webmock
128
128
  requirement: !ruby/object:Gem::Requirement
@@ -137,7 +137,7 @@ dependencies:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
139
  version: '2.3'
140
- description:
140
+ description:
141
141
  email:
142
142
  - wopr42@gmail.com
143
143
  - freakyjoe@gmail.com
@@ -228,7 +228,7 @@ homepage: https://github.com/westernmilling/agris.rb
228
228
  licenses:
229
229
  - MIT
230
230
  metadata: {}
231
- post_install_message:
231
+ post_install_message:
232
232
  rdoc_options: []
233
233
  require_paths:
234
234
  - lib
@@ -243,9 +243,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
243
243
  - !ruby/object:Gem::Version
244
244
  version: '0'
245
245
  requirements: []
246
- rubyforge_project:
246
+ rubyforge_project:
247
247
  rubygems_version: 2.6.14
248
- signing_key:
248
+ signing_key:
249
249
  specification_version: 4
250
250
  summary: Ruby client library for Agris API
251
251
  test_files: []