alula-ruby 1.2.4 → 1.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/README.md +1 -1
- data/VERSION.md +2 -0
- data/alula.gemspec +1 -1
- data/lib/alula/errors.rb +31 -5
- 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: f70aa0a4b0c40a14dd7cfdbb1faa3655525f06212409a61eb9c4af071deead07
|
4
|
+
data.tar.gz: a97bd6710997caa25a901cd3000c1edabdcbd31458460a17e61658093dc7cc5b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9ff58743a47fc9cc49a71c76e57302debc60acb28a13f37099385d7dbf7260f96b3381da9b6fd8423ee0877a786050a4c6cf9efc5060bf4339a6921d82fba8cb
|
7
|
+
data.tar.gz: f51670cb212984b3157ec25e64e07744205359e0d98c3d707ade79bded8a83fc30a0764a747b021cdd23867094c5be8e93a862ac47fa9a0c7b610ef87522a36d
|
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.4.0 | 2024-01-04 | Add more known errors that use a different format, bugfix for `NotImplementedError` raising |
|
6
|
+
| 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 |
|
5
7
|
| v1.2.4 | 2023-09-15 | Update UI Settings to object |
|
6
8
|
| v1.2.3 | 2023-08-31 | Update typo device patchable field `uiSettings` |
|
7
9
|
| v1.2.2 | 2023-08-30 | Add new device patchable field `uiSettings` |
|
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,24 @@ 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') ||
|
79
|
+
response.data.dig('error', 'data', 'message') ||
|
80
|
+
response.data.dig('error', 'description')
|
81
|
+
case message
|
82
|
+
when 'dealer does not exist'
|
83
|
+
NotFoundError.new(message)
|
84
|
+
when 'Insufficient User Scope'
|
85
|
+
InsufficientScopeError.new(message)
|
86
|
+
when 'Not Found'
|
87
|
+
NotFoundError.new(message)
|
88
|
+
else
|
89
|
+
Alula.logger.error response
|
90
|
+
raise NotImplementedError, "Unable to derive error for #{response.data['error'].to_json}"
|
91
|
+
end
|
77
92
|
end
|
78
93
|
end
|
79
94
|
|
@@ -100,8 +115,19 @@ module Alula
|
|
100
115
|
# RPC errors are identified by jsonrpc in the body.
|
101
116
|
return ProcedureError.new(response) if response.data['jsonrpc']
|
102
117
|
|
103
|
-
|
104
|
-
|
118
|
+
# See comment in the error_for_response method
|
119
|
+
message = error.dig('data', 'msg') || error.dig('data', 'message') || error['description']
|
120
|
+
case message
|
121
|
+
when 'dealer does not exist'
|
122
|
+
NotFoundError.new(message)
|
123
|
+
when 'Insufficient User Scope'
|
124
|
+
InsufficientScopeError.new(message)
|
125
|
+
when 'Not Found'
|
126
|
+
NotFoundError.new(message)
|
127
|
+
else
|
128
|
+
Alula.logger.error response
|
129
|
+
raise NotImplementedError, "Unable to derive error for #{response.data['errors'].to_json}"
|
130
|
+
end
|
105
131
|
end
|
106
132
|
end
|
107
133
|
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.4.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:
|
11
|
+
date: 2024-01-04 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
|