agris 0.4.5 → 0.4.10

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
  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: []