alula-ruby 1.3.0 → 1.5.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: 8e7c4adad8dc9335e13282c8c0ea43d962312e5e4e34113d52877099a072b56c
4
- data.tar.gz: 800ed5ba6ddcb94d33742c3b0ecf46ac55d846b9d24d708ea080f55bc6013952
3
+ metadata.gz: ceb68711713b164848aa6b194152c6f41e102de57412f04555fcc19961820bbf
4
+ data.tar.gz: 98f3e2bfff91c8d80af2d4df652bdd0a42cc87be09800369bc122941dcac6bdd
5
5
  SHA512:
6
- metadata.gz: 3c5f72d61ad7f378b1eb412ec3d824d08e33a73f90dcc1a9ec91dec51e552b935af89f7fea74a553243938c3991bc5c3c1504d5a37e2740155d85a9f07f656da
7
- data.tar.gz: 54d92e69be82bf5d9a2a2321f02631e2a73e0d26fc887e4541fe30872e0e507c14a2dabbd9224a8eda5fdeffc7cbcbe0bce2412b726c92d4c4c965cc45286b32
6
+ metadata.gz: 91c47f517294638509cd4c7511c63b55ae098ffd1c86143dbc9c4af678dfef09004c739cfbdb12572d4210e6e4df2311440b8b305af41515d2b199f5f794b80e
7
+ data.tar.gz: a89654f421f310e3bc721512431d8e5958567ab8a926c93e9b04ef21f3b2bb1c0b5369537f62db3de43ef11eeff03ba2a839224f67bc3946509ff3ef08fba512
data/VERSION.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  | Version | Date | Description |
4
4
  | ------- | --------- | --------------------------------------------------------------------------- |
5
+ | v1.5.0 | 2024-01-09 | Add more known errors that use a different format |
6
+ | v1.4.0 | 2024-01-04 | Add more known errors that use a different format, bugfix for `NotImplementedError` raising |
5
7
  | 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
8
  | v1.2.4 | 2023-09-15 | Update UI Settings to object |
7
9
  | v1.2.3 | 2023-08-31 | Update typo device patchable field `uiSettings` |
data/lib/alula/errors.rb CHANGED
@@ -75,15 +75,21 @@ module Alula
75
75
  # Sometimes they are in the msg key, sometimes in the message key
76
76
  # Example: https://github.com/alula-net/alula-connect/pull/3417#issue-1985813211
77
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')
78
+ message = response.data.dig('error', 'data', 'msg') ||
79
+ response.data.dig('error', 'data', 'message') ||
80
+ response.data.dig('error', 'description')
79
81
  case message
80
82
  when 'dealer does not exist'
81
83
  NotFoundError.new(message)
82
84
  when 'Insufficient User Scope'
83
85
  InsufficientScopeError.new(message)
86
+ when 'Not Found'
87
+ NotFoundError.new(message)
88
+ when 'Device Not Found'
89
+ NotFoundError.new(message)
84
90
  else
85
91
  Alula.logger.error response
86
- raise NotImplementedError.new('Unable to derive error for', response.data['error'].to_json)
92
+ raise NotImplementedError, "Unable to derive error for #{response.data['error'].to_json}"
87
93
  end
88
94
  end
89
95
  end
@@ -112,15 +118,19 @@ module Alula
112
118
  return ProcedureError.new(response) if response.data['jsonrpc']
113
119
 
114
120
  # See comment in the error_for_response method
115
- message = error.dig('data', 'msg') || error.dig('data', 'message')
121
+ message = error.dig('data', 'msg') || error.dig('data', 'message') || error['description']
116
122
  case message
117
123
  when 'dealer does not exist'
118
124
  NotFoundError.new(message)
119
125
  when 'Insufficient User Scope'
120
126
  InsufficientScopeError.new(message)
127
+ when 'Not Found'
128
+ NotFoundError.new(message)
129
+ when 'Device Not Found'
130
+ NotFoundError.new(message)
121
131
  else
122
132
  Alula.logger.error response
123
- raise NotImplementedError.new('Unable to derive error for', response.data['errors'].to_json)
133
+ raise NotImplementedError, "Unable to derive error for #{response.data['errors'].to_json}"
124
134
  end
125
135
  end
126
136
  end
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.3.0'
4
+ VERSION = '1.5.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.3.0
4
+ version: 1.5.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-21 00:00:00.000000000 Z
11
+ date: 2024-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty