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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c73e0ad7d53aca033b836b7d76ba42e4bbe11663cc4da1d7405784a61c7b2ffb
4
- data.tar.gz: 32e78c3e343f4fedb884ced7720022d4b650689bd033f4913f95aec9eb0db203
3
+ metadata.gz: 8e7c4adad8dc9335e13282c8c0ea43d962312e5e4e34113d52877099a072b56c
4
+ data.tar.gz: 800ed5ba6ddcb94d33742c3b0ecf46ac55d846b9d24d708ea080f55bc6013952
5
5
  SHA512:
6
- metadata.gz: 31e5791b713088b5520489b4094d7046f3086315073dab81f169d89f1a74506108e36d7f9f58d2c90fd972bf692eb4702d30bd09963e6bd4ef996c504a8862cc
7
- data.tar.gz: fe334c289575793200305253617cb095910e6ea3fb939c3fe48a609fb7bcb39a096562ba3c531cda32d6eff00b8814eb8c5fc072361cbd99a989033b3510209a
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 then run `bundle exec rake release`, which will create a git tag for the version, and push git commits and tags.
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.10.3"
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
- Alula.logger.error response
76
- raise NotImplementedError.new("Unable to derive error for #{response.data['error']}")
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
- Alula.logger.error response
104
- raise NotImplementedError.new("Unable to derive error for #{response.data['errors']}")
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
@@ -692,7 +692,7 @@ module Alula
692
692
  patchable_by: []
693
693
 
694
694
  field :ui_settings,
695
- type: :string,
695
+ type: :object,
696
696
  sortable: false,
697
697
  filterable: false,
698
698
  creatable_by: [],
data/lib/alula/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Alula
4
- VERSION = '1.2.3'
4
+ VERSION = '1.3.0'
5
5
  end
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.2.3
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-08-31 00:00:00.000000000 Z
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.10.3
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.10.3
110
+ version: 1.11.7
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rake
113
113
  requirement: !ruby/object:Gem::Requirement