alula-ruby 1.2.3 → 1.3.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/README.md +1 -1
- data/VERSION.md +2 -0
- data/alula.gemspec +1 -1
- data/lib/alula/errors.rb +25 -5
- data/lib/alula/resources/device.rb +1 -1
- data/lib/alula/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8e7c4adad8dc9335e13282c8c0ea43d962312e5e4e34113d52877099a072b56c
|
4
|
+
data.tar.gz: 800ed5ba6ddcb94d33742c3b0ecf46ac55d846b9d24d708ea080f55bc6013952
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3c5f72d61ad7f378b1eb412ec3d824d08e33a73f90dcc1a9ec91dec51e552b935af89f7fea74a553243938c3991bc5c3c1504d5a37e2740155d85a9f07f656da
|
7
|
+
data.tar.gz: 54d92e69be82bf5d9a2a2321f02631e2a73e0d26fc887e4541fe30872e0e507c14a2dabbd9224a8eda5fdeffc7cbcbe0bce2412b726c92d4c4c965cc45286b32
|
data/README.md
CHANGED
@@ -380,7 +380,7 @@ Success responses are custom per RPC method. Some provide response data, some do
|
|
380
380
|
|
381
381
|
After checking out the repo, run `bin/setup` to install dependencies. You can also run `bundle exec bin/console` for an interactive prompt that will allow you to experiment.
|
382
382
|
|
383
|
-
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and
|
383
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, commit and push your changes. GitHub Actions takes care of the gem release.
|
384
384
|
|
385
385
|
### Using Docker
|
386
386
|
|
data/VERSION.md
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
| Version | Date | Description |
|
4
4
|
| ------- | --------- | --------------------------------------------------------------------------- |
|
5
|
+
| v1.3.0 | 2023-11-20 | Update NotImplemented error's message to include a JSONized hash, add more known errors that use a different format |
|
6
|
+
| v1.2.4 | 2023-09-15 | Update UI Settings to object |
|
5
7
|
| v1.2.3 | 2023-08-31 | Update typo device patchable field `uiSettings` |
|
6
8
|
| v1.2.2 | 2023-08-30 | Add new device patchable field `uiSettings` |
|
7
9
|
| v1.2.1 | 2023-08-17 | Fix types on OAuth clients |
|
data/alula.gemspec
CHANGED
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.add_development_dependency "bundler", "~> 2.0"
|
32
32
|
spec.add_development_dependency "dotenv"
|
33
33
|
spec.add_development_dependency "guard-rspec"
|
34
|
-
spec.add_development_dependency "nokogiri", "~> 1.
|
34
|
+
spec.add_development_dependency "nokogiri", "~> 1.11.7"
|
35
35
|
spec.add_development_dependency "rake", "~> 10.0"
|
36
36
|
spec.add_development_dependency "rspec", "~> 3.0"
|
37
37
|
spec.add_development_dependency "simplecov", "~> 0.21.2"
|
data/lib/alula/errors.rb
CHANGED
@@ -71,9 +71,20 @@ module Alula
|
|
71
71
|
# RPC errors are identified by jsonrpc in the body.
|
72
72
|
return ProcedureError.new(response) if response.data['jsonrpc']
|
73
73
|
|
74
|
-
|
75
|
-
|
76
|
-
|
74
|
+
# Error messages coming from the API are inconsistent.
|
75
|
+
# Sometimes they are in the msg key, sometimes in the message key
|
76
|
+
# Example: https://github.com/alula-net/alula-connect/pull/3417#issue-1985813211
|
77
|
+
# Here we have some errors that are actually known but at least one of them is not properly formatted by the API
|
78
|
+
message = response.data.dig('error', 'data', 'msg') || response.data.dig('error', 'data', 'message')
|
79
|
+
case message
|
80
|
+
when 'dealer does not exist'
|
81
|
+
NotFoundError.new(message)
|
82
|
+
when 'Insufficient User Scope'
|
83
|
+
InsufficientScopeError.new(message)
|
84
|
+
else
|
85
|
+
Alula.logger.error response
|
86
|
+
raise NotImplementedError.new('Unable to derive error for', response.data['error'].to_json)
|
87
|
+
end
|
77
88
|
end
|
78
89
|
end
|
79
90
|
|
@@ -100,8 +111,17 @@ module Alula
|
|
100
111
|
# RPC errors are identified by jsonrpc in the body.
|
101
112
|
return ProcedureError.new(response) if response.data['jsonrpc']
|
102
113
|
|
103
|
-
|
104
|
-
|
114
|
+
# See comment in the error_for_response method
|
115
|
+
message = error.dig('data', 'msg') || error.dig('data', 'message')
|
116
|
+
case message
|
117
|
+
when 'dealer does not exist'
|
118
|
+
NotFoundError.new(message)
|
119
|
+
when 'Insufficient User Scope'
|
120
|
+
InsufficientScopeError.new(message)
|
121
|
+
else
|
122
|
+
Alula.logger.error response
|
123
|
+
raise NotImplementedError.new('Unable to derive error for', response.data['errors'].to_json)
|
124
|
+
end
|
105
125
|
end
|
106
126
|
end
|
107
127
|
end
|
data/lib/alula/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alula-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Titus Johnson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-11-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -100,14 +100,14 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 1.
|
103
|
+
version: 1.11.7
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 1.
|
110
|
+
version: 1.11.7
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: rake
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|