elmas 2.3.3 → 2.4.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 +4 -4
- data/Changelog.md +7 -0
- data/elmas.gemspec +13 -13
- data/lib/elmas/exception.rb +2 -2
- data/lib/elmas/oauth.rb +2 -2
- data/lib/elmas/resources/sales_entry.rb +2 -2
- data/lib/elmas/result_set.rb +7 -2
- data/lib/elmas/uri.rb +6 -1
- data/lib/elmas/version.rb +2 -2
- metadata +27 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9a9ed5ba705a72bd6891dcf22693b1266785c87a
|
4
|
+
data.tar.gz: 9e096590a3fbcf310c117c0ca80b66564c924d99
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd2449651468db6b7dcadc2b32a478903055c7f4f43e4cc9c0ed78803cc2e9a5bb0ac37682f0f920c583fd3864f8a2a6e92f2ce77b6e8ad1f89c3b6f0afdcdca
|
7
|
+
data.tar.gz: 23773f8506826a87f8ff24b4b2570ee0653e0c441d15fac620597314331408b4446caac447b50829d7144af8f086f9b871e3c4696e609c1f343fbc2870ebceeb
|
data/Changelog.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
## 2.4.0
|
2
|
+
|
3
|
+
- Add security measures for constantizing Exact Resources thanks to @confiks
|
4
|
+
- Add possibility to filter on Date or Time. Added test for BankEntry. thanks to @confiks
|
5
|
+
- Custom exception shouldn't inherit Exception. Use StandardError instead. thanks to @confiks
|
6
|
+
- Let go of unecessary dev dependency versions
|
7
|
+
|
1
8
|
## 2.3.3
|
2
9
|
|
3
10
|
- Add bank accounts resource
|
data/elmas.gemspec
CHANGED
@@ -17,20 +17,20 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.version = Elmas::Version.to_s
|
18
18
|
|
19
19
|
spec.add_dependency "faraday", [">= 0.8", "< 0.10"]
|
20
|
-
spec.add_dependency "mechanize", "2.6.0"
|
20
|
+
spec.add_dependency "mechanize", ">= 2.6.0"
|
21
21
|
spec.add_dependency "activesupport"
|
22
22
|
|
23
23
|
spec.add_development_dependency "bundler"
|
24
|
-
spec.add_development_dependency "rake"
|
25
|
-
spec.add_development_dependency
|
26
|
-
spec.add_development_dependency
|
27
|
-
spec.add_development_dependency
|
28
|
-
spec.add_development_dependency
|
29
|
-
spec.add_development_dependency
|
30
|
-
spec.add_development_dependency
|
31
|
-
spec.add_development_dependency
|
32
|
-
spec.add_development_dependency
|
33
|
-
spec.add_development_dependency
|
34
|
-
spec.add_development_dependency
|
35
|
-
spec.add_development_dependency
|
24
|
+
spec.add_development_dependency "rake"
|
25
|
+
spec.add_development_dependency "rspec"
|
26
|
+
spec.add_development_dependency "simplecov"
|
27
|
+
spec.add_development_dependency "simplecov-rcov"
|
28
|
+
spec.add_development_dependency "webmock"
|
29
|
+
spec.add_development_dependency "rubycritic"
|
30
|
+
spec.add_development_dependency "guard-rspec"
|
31
|
+
spec.add_development_dependency "guard-rubocop"
|
32
|
+
spec.add_development_dependency "listen"
|
33
|
+
spec.add_development_dependency "ruby_dep"
|
34
|
+
spec.add_development_dependency "mutant-rspec"
|
35
|
+
spec.add_development_dependency "dotenv"
|
36
36
|
end
|
data/lib/elmas/exception.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module Elmas
|
2
|
-
class BadRequestException <
|
2
|
+
class BadRequestException < StandardError
|
3
3
|
def initialize(response, parsed)
|
4
4
|
@response = response
|
5
5
|
@parsed = parsed
|
@@ -11,5 +11,5 @@ module Elmas
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
-
class UnauthorizedException <
|
14
|
+
class UnauthorizedException < StandardError; end
|
15
15
|
end
|
data/lib/elmas/oauth.rb
CHANGED
@@ -48,14 +48,14 @@ module Elmas
|
|
48
48
|
options[:response_type] ||= "code"
|
49
49
|
options[:redirect_uri] ||= redirect_uri
|
50
50
|
params = authorization_params.merge(options)
|
51
|
-
uri = URI("
|
51
|
+
uri = URI("#{base_url}/api/oauth2/auth/")
|
52
52
|
uri.query = URI.encode_www_form(params)
|
53
53
|
uri.to_s
|
54
54
|
end
|
55
55
|
|
56
56
|
# Return an access token from authorization
|
57
57
|
def get_access_token(code, _options = {})
|
58
|
-
conn = Faraday.new(url:
|
58
|
+
conn = Faraday.new(url: base_url) do |faraday|
|
59
59
|
faraday.request :url_encoded
|
60
60
|
faraday.adapter Faraday.default_adapter
|
61
61
|
end
|
@@ -9,12 +9,12 @@ module Elmas
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def mandatory_attributes
|
12
|
-
[:journal, :
|
12
|
+
[:journal, :customer, :sales_entry_lines]
|
13
13
|
end
|
14
14
|
|
15
15
|
def other_attributes
|
16
16
|
[
|
17
|
-
:batch_number, :currency, :
|
17
|
+
:batch_number, :currency, :document, :due_date, :entry_date,
|
18
18
|
:entry_number, :invoice_number, :order_number, :payment_condition,
|
19
19
|
:payment_reference, :process_number, :rate, :reporting_period,
|
20
20
|
:reporting_year, :reversal, :VAT_amount_FC, :your_ref, :description
|
data/lib/elmas/result_set.rb
CHANGED
@@ -44,8 +44,13 @@ module Elmas
|
|
44
44
|
|
45
45
|
def resource_class
|
46
46
|
@resource_class ||= begin
|
47
|
-
constant_name =
|
48
|
-
|
47
|
+
constant_name = type.classify
|
48
|
+
fail NameError unless constant_name =~ /\A[a-zA-Z0-9]+\z/
|
49
|
+
|
50
|
+
klass = Elmas.const_get(constant_name, false)
|
51
|
+
fail NameError unless klass.included_modules.include?(Elmas::Resource)
|
52
|
+
|
53
|
+
klass
|
49
54
|
rescue NameError
|
50
55
|
Elmas.info("Unknown resource encountered, proceed as usual but further resource details might have to be implemented")
|
51
56
|
Class.new { include Elmas::Resource }
|
data/lib/elmas/uri.rb
CHANGED
@@ -46,12 +46,17 @@ module Elmas
|
|
46
46
|
|
47
47
|
# Convert a value to something usable in an ExactOnline request
|
48
48
|
def sanitize_value(value)
|
49
|
-
|
49
|
+
case value
|
50
|
+
when String
|
50
51
|
if value =~ /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
|
51
52
|
"guid'#{value}'"
|
52
53
|
else
|
53
54
|
"'#{value}'"
|
54
55
|
end
|
56
|
+
|
57
|
+
when Date, Time
|
58
|
+
"datetime'#{value.strftime('%FT%TZ')}'"
|
59
|
+
|
55
60
|
else
|
56
61
|
value
|
57
62
|
end
|
data/lib/elmas/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elmas
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marthyn
|
@@ -34,14 +34,14 @@ dependencies:
|
|
34
34
|
name: mechanize
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- -
|
37
|
+
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: 2.6.0
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- -
|
44
|
+
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: 2.6.0
|
47
47
|
- !ruby/object:Gem::Dependency
|
@@ -76,30 +76,30 @@ dependencies:
|
|
76
76
|
name: rake
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
|
-
- - "
|
79
|
+
- - ">="
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: '
|
81
|
+
version: '0'
|
82
82
|
type: :development
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
|
-
- - "
|
86
|
+
- - ">="
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: '
|
88
|
+
version: '0'
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
90
|
name: rspec
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
|
-
- - "
|
93
|
+
- - ">="
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: '
|
95
|
+
version: '0'
|
96
96
|
type: :development
|
97
97
|
prerelease: false
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
|
-
- - "
|
100
|
+
- - ">="
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: '
|
102
|
+
version: '0'
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: simplecov
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -132,30 +132,30 @@ dependencies:
|
|
132
132
|
name: webmock
|
133
133
|
requirement: !ruby/object:Gem::Requirement
|
134
134
|
requirements:
|
135
|
-
- - "
|
135
|
+
- - ">="
|
136
136
|
- !ruby/object:Gem::Version
|
137
|
-
version: '
|
137
|
+
version: '0'
|
138
138
|
type: :development
|
139
139
|
prerelease: false
|
140
140
|
version_requirements: !ruby/object:Gem::Requirement
|
141
141
|
requirements:
|
142
|
-
- - "
|
142
|
+
- - ">="
|
143
143
|
- !ruby/object:Gem::Version
|
144
|
-
version: '
|
144
|
+
version: '0'
|
145
145
|
- !ruby/object:Gem::Dependency
|
146
146
|
name: rubycritic
|
147
147
|
requirement: !ruby/object:Gem::Requirement
|
148
148
|
requirements:
|
149
|
-
- - "
|
149
|
+
- - ">="
|
150
150
|
- !ruby/object:Gem::Version
|
151
|
-
version:
|
151
|
+
version: '0'
|
152
152
|
type: :development
|
153
153
|
prerelease: false
|
154
154
|
version_requirements: !ruby/object:Gem::Requirement
|
155
155
|
requirements:
|
156
|
-
- - "
|
156
|
+
- - ">="
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
version:
|
158
|
+
version: '0'
|
159
159
|
- !ruby/object:Gem::Dependency
|
160
160
|
name: guard-rspec
|
161
161
|
requirement: !ruby/object:Gem::Requirement
|
@@ -188,30 +188,30 @@ dependencies:
|
|
188
188
|
name: listen
|
189
189
|
requirement: !ruby/object:Gem::Requirement
|
190
190
|
requirements:
|
191
|
-
- - "
|
191
|
+
- - ">="
|
192
192
|
- !ruby/object:Gem::Version
|
193
|
-
version: '
|
193
|
+
version: '0'
|
194
194
|
type: :development
|
195
195
|
prerelease: false
|
196
196
|
version_requirements: !ruby/object:Gem::Requirement
|
197
197
|
requirements:
|
198
|
-
- - "
|
198
|
+
- - ">="
|
199
199
|
- !ruby/object:Gem::Version
|
200
|
-
version: '
|
200
|
+
version: '0'
|
201
201
|
- !ruby/object:Gem::Dependency
|
202
202
|
name: ruby_dep
|
203
203
|
requirement: !ruby/object:Gem::Requirement
|
204
204
|
requirements:
|
205
|
-
- - "
|
205
|
+
- - ">="
|
206
206
|
- !ruby/object:Gem::Version
|
207
|
-
version: '
|
207
|
+
version: '0'
|
208
208
|
type: :development
|
209
209
|
prerelease: false
|
210
210
|
version_requirements: !ruby/object:Gem::Requirement
|
211
211
|
requirements:
|
212
|
-
- - "
|
212
|
+
- - ">="
|
213
213
|
- !ruby/object:Gem::Version
|
214
|
-
version: '
|
214
|
+
version: '0'
|
215
215
|
- !ruby/object:Gem::Dependency
|
216
216
|
name: mutant-rspec
|
217
217
|
requirement: !ruby/object:Gem::Requirement
|