elmas 2.3.3 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|