agris 0.4.5 → 0.4.10

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: 12b5830cb1e4319dfa867826afad41f0b12d163d
4
- data.tar.gz: b6ad68beec0392d71711ecf4d17524861d631ec4
3
+ metadata.gz: acbb4d3729fe7cee9f14802aa26851c60758695c
4
+ data.tar.gz: 2de9591d6d5558d119c53210eaa3d6868e7c1792
5
5
  SHA512:
6
- metadata.gz: f25c312d5dc0bbf025899f3373cc077b30e4aae6b5d548481f41900b8abe449d6a3dc8e7f1b49308e2cb800fcda7802842cbc2f9adbc375a60e7486c5943e8c4
7
- data.tar.gz: 848ff87534276cbe4e44bf1b1019a1e16e686a17908ac03d21d8188ce8cb1db6cca0f0a88de7b9f70a803d8c248821fb8b9952302f2a26e79e165bea6b3d32a2
6
+ metadata.gz: eeb678465c2a58a7194a02ed9d740c982ef392c5935baeb55ad2162c1411b7be424a1d657f82c4b2acbbabbfa879c24519463f4554282ca0f218f94b6da202dc
7
+ data.tar.gz: 460386f7e225998d81063d5f1a7d84fc063685f5a0e689bc53be3d7132fb714649f82f5cffb06cb7aed5c3af5136b96d56456f02845baafb9da02c96349dd597
data/.gitignore CHANGED
@@ -10,3 +10,5 @@
10
10
 
11
11
  # rspec failure tracking
12
12
  .rspec_status
13
+ .DS_Store
14
+ /vendor
data/agris.gemspec CHANGED
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.add_development_dependency 'bundler', '~> 1.14'
26
26
  spec.add_development_dependency 'pry-byebug'
27
- spec.add_development_dependency 'rake', '~> 10.0'
27
+ spec.add_development_dependency 'rake', '~> 12.3.3'
28
28
  spec.add_development_dependency 'rspec', '~> 3.0'
29
29
  spec.add_development_dependency 'rspec_junit_formatter', '~> 0.4.1'
30
30
  spec.add_development_dependency 'rubocop', '0.54.0'
data/lib/agris.rb CHANGED
@@ -14,6 +14,7 @@ module Agris
14
14
  attr_accessor :credentials,
15
15
  :context,
16
16
  :logger,
17
+ :log_level,
17
18
  :proxy_url,
18
19
  :request_type,
19
20
  :user_agent
@@ -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,26 @@ 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
+ gl_loc_code
205
+ record_type
206
+ execution_id
207
+ ).freeze
208
+
209
+ def initialize(hash = {})
210
+ super(hash)
211
+
212
+ @record_type = 'ACRI2'
213
+ end
162
214
  end
163
215
  end
164
216
  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
data/lib/agris/client.rb CHANGED
@@ -18,15 +18,16 @@ module Agris
18
18
  context = Agris.context,
19
19
  credentials = Agris.credentials,
20
20
  options = {},
21
- dataset = Agris.dataset
21
+ dataset:
22
22
  )
23
23
  @context = context
24
24
  @logger = options[:logger] || Agris.logger
25
+ @log_level = options[:log_level] || Agris.log_level
25
26
  @request_type = options[:request_type] || Agris.request_type
26
27
  @proxy_url = options.fetch(:proxy_url, Agris.proxy_url)
27
- @dataset = dataset
28
+ @dataset = dataset || Agris.context.default_dataset
28
29
  @request = @request_type.new(
29
- @context.base_url, credentials, @logger, @proxy_url
30
+ @context.base_url, credentials, @logger, @log_level, @proxy_url
30
31
  )
31
32
  end
32
33
 
@@ -4,10 +4,11 @@ require 'savon'
4
4
 
5
5
  module Agris
6
6
  class SavonRequest
7
- def initialize(base_url, credentials, logger, proxy_url = nil)
7
+ def initialize(base_url, credentials, logger, log_level, proxy_url = nil)
8
8
  @base_url = base_url
9
9
  @credentials = credentials
10
10
  @logger = logger
11
+ @log_level = log_level
11
12
  @proxy_url = proxy_url
12
13
  end
13
14
 
@@ -45,7 +46,7 @@ module Agris
45
46
  raise_errors: false,
46
47
  logger: @logger,
47
48
  log: true,
48
- log_level: :debug
49
+ log_level: @log_level || :debug
49
50
  }
50
51
  options = options.merge(proxy: @proxy_url) unless @proxy_url.to_s == ''
51
52
  options = @credentials.apply(options)
data/lib/agris/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Agris
3
- VERSION = '0.4.5'
3
+ VERSION = '0.4.10'
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.5
4
+ version: 0.4.10
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: 2020-03-12 00:00:00.000000000 Z
12
+ date: 2021-03-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: savon
@@ -59,14 +59,14 @@ dependencies:
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '10.0'
62
+ version: 12.3.3
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '10.0'
69
+ version: 12.3.3
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rspec
72
72
  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:
247
- rubygems_version: 2.6.14
248
- signing_key:
246
+ rubyforge_project:
247
+ rubygems_version: 2.5.2
248
+ signing_key:
249
249
  specification_version: 4
250
250
  summary: Ruby client library for Agris API
251
251
  test_files: []