ev-recharge-sdk 1.1.0 → 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.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +14 -14
  3. data/lib/shell_ev/client.rb +5 -1
  4. data/lib/shell_ev/configuration.rb +69 -11
  5. data/lib/shell_ev/controllers/charging_controller.rb +8 -8
  6. data/lib/shell_ev/controllers/locations_controller.rb +13 -13
  7. data/lib/shell_ev/controllers/o_auth_authorization_controller.rb +3 -3
  8. data/lib/shell_ev/models/active_response200_json.rb +5 -3
  9. data/lib/shell_ev/models/base_model.rb +76 -28
  10. data/lib/shell_ev/models/connector_vo.rb +7 -5
  11. data/lib/shell_ev/models/electrical_properties.rb +1 -1
  12. data/lib/shell_ev/models/get_charge_session_retrieve_response200_json.rb +4 -2
  13. data/lib/shell_ev/models/get_ev_locations_authorization_methods_enum.rb +1 -1
  14. data/lib/shell_ev/models/get_ev_locations_connector_types_enum.rb +1 -1
  15. data/lib/shell_ev/models/get_ev_locations_evse_status_enum.rb +1 -1
  16. data/lib/shell_ev/models/inline_response202.rb +5 -3
  17. data/lib/shell_ev/models/inline_response2021.rb +3 -2
  18. data/lib/shell_ev/models/locations_markers_authorization_methods_enum.rb +1 -1
  19. data/lib/shell_ev/models/locations_markers_connector_types_enum.rb +1 -1
  20. data/lib/shell_ev/models/locations_markers_evse_status_enum.rb +1 -1
  21. data/lib/shell_ev/models/nearby_locations_authorization_methods_enum.rb +1 -1
  22. data/lib/shell_ev/models/nearby_locations_connector_types_enum.rb +1 -1
  23. data/lib/shell_ev/models/nearby_locations_evse_status_enum.rb +1 -1
  24. data/lib/shell_ev/models/opening_hours_object.rb +1 -1
  25. data/lib/shell_ev/models/single_location_marker.rb +1 -2
  26. data/lib/shell_ev/models/tariff.rb +107 -0
  27. data/lib/shell_ev/models/tariff_vo.rb +1 -1
  28. data/lib/shell_ev.rb +1 -0
  29. metadata +7 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0ca475d6391b018b580ab5ab4e9b0d8edc441fcdbedc4efb0b384fc18b2622c9
4
- data.tar.gz: c103f47f6e71284c4d80d992c28270165bb484ad3118e615b08336f5bd1bbd2b
3
+ metadata.gz: c08d11ce3e4f2f892c4b59be20a39de22c0e7e476e5702d9be17f4b66921aaae
4
+ data.tar.gz: e8494e4e2f1a1064f962d17ec9ceb54fe01cc4a952064b8f8ca40e80ec022425
5
5
  SHA512:
6
- metadata.gz: df1225d35d298dd416d8eac0dcba8056aa98aa9452f355fe7cc5a74526275fa0e1d0dca4d923bccdaf6f7360e95ea7b4db11225ad2da6f79e04843bc5eb3c532
7
- data.tar.gz: 1c17bd98dd14ff6e57676462e4deb24d7f59e25fdb937768b81f07332f5ce1b2b715957b18747f73680e17c99186ec71f64eb0d978d36591c702c0a8c00c735c
6
+ metadata.gz: 25fd34b7d3077c0f930370af2daf61f31413b3ce455f4f5f1b82b8f265ee9a19b3fffb9d887d535eca31ae39679f10a2b5fc1160ea6330dd1770ce259dd8b6fb
7
+ data.tar.gz: 0c057b181460a3e6d7df06ac143582ec45a8d7dd5bca887659cd26d8ff0a622e5d9181f71d1ce2ff6f47a9effdeeaea7a57bd7b304066bf18a110a0a11948cd7
data/README.md CHANGED
@@ -27,17 +27,17 @@ Go to the Shell Developer Portal: [https://developer.shell.com](https://develope
27
27
 
28
28
  Install the gem from the command line:
29
29
 
30
- ```ruby
31
- gem install ev-recharge-sdk -v 1.1.0
30
+ ```bash
31
+ gem install ev-recharge-sdk -v 1.3.0
32
32
  ```
33
33
 
34
34
  Or add the gem to your Gemfile and run `bundle`:
35
35
 
36
36
  ```ruby
37
- gem 'ev-recharge-sdk', '1.1.0'
37
+ gem 'ev-recharge-sdk', '1.3.0'
38
38
  ```
39
39
 
40
- For additional gem details, see the [RubyGems page for the ev-recharge-sdk gem](https://rubygems.org/gems/ev-recharge-sdk/versions/1.1.0).
40
+ For additional gem details, see the [RubyGems page for the ev-recharge-sdk gem](https://rubygems.org/gems/ev-recharge-sdk/versions/1.3.0).
41
41
 
42
42
  ## Test the SDK
43
43
 
@@ -49,7 +49,7 @@ rake
49
49
 
50
50
  ## Initialize the API Client
51
51
 
52
- **_Note:_** Documentation for the client can be found [here.](https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.1.0/doc/client.md)
52
+ **_Note:_** Documentation for the client can be found [here.](https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.3.0/doc/client.md)
53
53
 
54
54
  The following parameters are configurable for the API Client:
55
55
 
@@ -65,7 +65,7 @@ The following parameters are configurable for the API Client:
65
65
  | `retry_statuses` | `Array` | A list of HTTP statuses to retry. <br> **Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]** |
66
66
  | `retry_methods` | `Array` | A list of HTTP methods to retry. <br> **Default: %i[get put]** |
67
67
  | `http_callback` | `HttpCallBack` | The Http CallBack allows defining callables for pre and post API calls. |
68
- | `client_credentials_auth_credentials` | [`ClientCredentialsAuthCredentials`](https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.1.0/doc/$a/https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.1.0/oauth-2-client-credentials-grant.md) | The credential object for OAuth 2 Client Credentials Grant |
68
+ | `client_credentials_auth_credentials` | [`ClientCredentialsAuthCredentials`](https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.3.0/doc/auth/oauth-2-client-credentials-grant.md) | The credential object for OAuth 2 Client Credentials Grant |
69
69
 
70
70
  The API client can be initialized as follows:
71
71
 
@@ -87,23 +87,23 @@ The SDK can be configured to use a different environment for making API calls. A
87
87
 
88
88
  | Name | Description |
89
89
  | --- | --- |
90
- | production | **Default** Production |
91
- | environment2 | Test |
90
+ | production | **Default** Production Server |
91
+ | environment2 | Test Server |
92
92
 
93
93
  ## Authorization
94
94
 
95
95
  This API uses the following authentication schemes.
96
96
 
97
- * [`BearerAuth (OAuth 2 Client Credentials Grant)`](https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.1.0/doc/$a/https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.1.0/oauth-2-client-credentials-grant.md)
97
+ * [`BearerAuth (OAuth 2 Client Credentials Grant)`](https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.3.0/doc/auth/oauth-2-client-credentials-grant.md)
98
98
 
99
99
  ## List of APIs
100
100
 
101
- * [Locations](https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.1.0/doc/controllers/locations.md)
102
- * [Charging](https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.1.0/doc/controllers/charging.md)
101
+ * [Locations](https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.3.0/doc/controllers/locations.md)
102
+ * [Charging](https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.3.0/doc/controllers/charging.md)
103
103
 
104
104
  ## Classes Documentation
105
105
 
106
- * [Utility Classes](https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.1.0/doc/utility-classes.md)
107
- * [HttpResponse](https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.1.0/doc/http-response.md)
108
- * [HttpRequest](https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.1.0/doc/http-request.md)
106
+ * [Utility Classes](https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.3.0/doc/utility-classes.md)
107
+ * [HttpResponse](https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.3.0/doc/http-response.md)
108
+ * [HttpRequest](https://www.github.com/sdks-io/ev-recharge-ruby-sdk/tree/1.3.0/doc/http-request.md)
109
109
 
@@ -37,7 +37,8 @@ module ShellEv
37
37
  max_retries: 0, retry_interval: 1, backoff_factor: 2,
38
38
  retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
39
39
  retry_methods: %i[get put], http_callback: nil,
40
- environment: Environment::PRODUCTION,
40
+ environment: Environment::PRODUCTION, o_auth_client_id: nil,
41
+ o_auth_client_secret: nil, o_auth_token: nil,
41
42
  client_credentials_auth_credentials: nil, config: nil
42
43
  )
43
44
  @config = if config.nil?
@@ -48,6 +49,9 @@ module ShellEv
48
49
  retry_statuses: retry_statuses,
49
50
  retry_methods: retry_methods, http_callback: http_callback,
50
51
  environment: environment,
52
+ o_auth_client_id: o_auth_client_id,
53
+ o_auth_client_secret: o_auth_client_secret,
54
+ o_auth_token: o_auth_token,
51
55
  client_credentials_auth_credentials: client_credentials_auth_credentials
52
56
  )
53
57
  else
@@ -6,8 +6,8 @@
6
6
  module ShellEv
7
7
  # An enum for SDK environments.
8
8
  class Environment
9
- # PRODUCTION: Production
10
- # ENVIRONMENT2: Test
9
+ # PRODUCTION: Production Server
10
+ # ENVIRONMENT2: Test Server
11
11
  ENVIRONMENT = [
12
12
  PRODUCTION = 'production'.freeze,
13
13
  ENVIRONMENT2 = 'environment2'.freeze
@@ -17,13 +17,26 @@ module ShellEv
17
17
  # An enum for API servers.
18
18
  class Server
19
19
  SERVER = [
20
- DEFAULT = 'default'.freeze
20
+ DEFAULT = 'default'.freeze,
21
+ ACCESS_TOKEN_SERVER = 'access token server'.freeze
21
22
  ].freeze
22
23
  end
23
24
 
24
25
  # All configuration including auth info and base URI for the API access
25
26
  # are configured in this class.
26
27
  class Configuration < CoreLibrary::HttpClientConfiguration
28
+ def o_auth_client_id
29
+ @client_credentials_auth_credentials.o_auth_client_id
30
+ end
31
+
32
+ def o_auth_client_secret
33
+ @client_credentials_auth_credentials.o_auth_client_secret
34
+ end
35
+
36
+ def o_auth_token
37
+ @client_credentials_auth_credentials.o_auth_token
38
+ end
39
+
27
40
  # The attribute readers for properties.
28
41
  attr_reader :environment, :client_credentials_auth_credentials
29
42
 
@@ -36,7 +49,8 @@ module ShellEv
36
49
  max_retries: 0, retry_interval: 1, backoff_factor: 2,
37
50
  retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
38
51
  retry_methods: %i[get put], http_callback: nil,
39
- environment: Environment::PRODUCTION,
52
+ environment: Environment::PRODUCTION, o_auth_client_id: nil,
53
+ o_auth_client_secret: nil, o_auth_token: nil,
40
54
  client_credentials_auth_credentials: nil
41
55
  )
42
56
 
@@ -48,11 +62,24 @@ module ShellEv
48
62
  # Current API environment
49
63
  @environment = String(environment)
50
64
 
51
- # The object holding OAuth 2 Client Credentials Grant credentials
52
- @client_credentials_auth_credentials = client_credentials_auth_credentials
65
+ # OAuth 2 Client ID
66
+ @o_auth_client_id = o_auth_client_id
67
+
68
+ # OAuth 2 Client Secret
69
+ @o_auth_client_secret = o_auth_client_secret
70
+
71
+ # Object for storing information about the OAuth token
72
+ @o_auth_token = if o_auth_token.is_a? OAuthToken
73
+ OAuthToken.from_hash o_auth_token.to_hash
74
+ else
75
+ o_auth_token
76
+ end
53
77
 
54
78
  # Initializing OAuth 2 Client Credentials Grant credentials with the provided auth parameters
55
- @client_credentials_auth_credentials = client_credentials_auth_credentials
79
+ @client_credentials_auth_credentials = create_auth_credentials_object(
80
+ o_auth_client_id, o_auth_client_secret, o_auth_token,
81
+ client_credentials_auth_credentials
82
+ )
56
83
 
57
84
  # The Http Client to use for making requests.
58
85
  set_http_client CoreLibrary::FaradayClient.new(self)
@@ -61,7 +88,9 @@ module ShellEv
61
88
  def clone_with(connection: nil, adapter: nil, timeout: nil,
62
89
  max_retries: nil, retry_interval: nil, backoff_factor: nil,
63
90
  retry_statuses: nil, retry_methods: nil, http_callback: nil,
64
- environment: nil, client_credentials_auth_credentials: nil)
91
+ environment: nil, o_auth_client_id: nil,
92
+ o_auth_client_secret: nil, o_auth_token: nil,
93
+ client_credentials_auth_credentials: nil)
65
94
  connection ||= self.connection
66
95
  adapter ||= self.adapter
67
96
  timeout ||= self.timeout
@@ -72,7 +101,10 @@ module ShellEv
72
101
  retry_methods ||= self.retry_methods
73
102
  http_callback ||= self.http_callback
74
103
  environment ||= self.environment
75
- client_credentials_auth_credentials ||= client_credentials_auth_credentials
104
+ client_credentials_auth_credentials = create_auth_credentials_object(
105
+ o_auth_client_id, o_auth_client_secret, o_auth_token,
106
+ client_credentials_auth_credentials || self.client_credentials_auth_credentials
107
+ )
76
108
 
77
109
  Configuration.new(
78
110
  connection: connection, adapter: adapter, timeout: timeout,
@@ -84,14 +116,40 @@ module ShellEv
84
116
  )
85
117
  end
86
118
 
119
+ def create_auth_credentials_object(o_auth_client_id, o_auth_client_secret,
120
+ o_auth_token,
121
+ client_credentials_auth_credentials)
122
+ return client_credentials_auth_credentials if o_auth_client_id.nil? &&
123
+ o_auth_client_secret.nil? &&
124
+ o_auth_token.nil?
125
+
126
+ warn('The \'o_auth_client_id\', \'o_auth_client_secret\', \'o_auth_token'\
127
+ '\' params are deprecated. Use \'client_credentials_auth_credential'\
128
+ 's\' param instead.')
129
+
130
+ unless client_credentials_auth_credentials.nil?
131
+ return client_credentials_auth_credentials.clone_with(
132
+ o_auth_client_id: o_auth_client_id,
133
+ o_auth_client_secret: o_auth_client_secret,
134
+ o_auth_token: o_auth_token
135
+ )
136
+ end
137
+
138
+ ClientCredentialsAuthCredentials.new(
139
+ o_auth_client_id: o_auth_client_id,
140
+ o_auth_client_secret: o_auth_client_secret, o_auth_token: o_auth_token
141
+ )
142
+ end
87
143
 
88
144
  # All the environments the SDK can run in.
89
145
  ENVIRONMENTS = {
90
146
  Environment::PRODUCTION => {
91
- Server::DEFAULT => 'https://api.shell.com'
147
+ Server::DEFAULT => 'https://api.shell.com/ev/v1',
148
+ Server::ACCESS_TOKEN_SERVER => 'https://api.shell.com/v1/oauth'
92
149
  },
93
150
  Environment::ENVIRONMENT2 => {
94
- Server::DEFAULT => 'https://api-test.shell.com'
151
+ Server::DEFAULT => 'https://api-test.shell.com/ev/v1',
152
+ Server::ACCESS_TOKEN_SERVER => 'https://api.shell.com/v1/oauth'
95
153
  }
96
154
  }.freeze
97
155
 
@@ -15,12 +15,12 @@ module ShellEv
15
15
  # 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4
16
16
  # hyphens) <br>
17
17
  # @param [ChargesessionStartBody] body Optional parameter: Example:
18
- # @return [InlineResponse202] response from the API call
18
+ # @return [InlineResponse202] response from the API call.
19
19
  def start(request_id,
20
20
  body: nil)
21
21
  new_api_call_builder
22
22
  .request(new_request_builder(HttpMethodEnum::POST,
23
- '/ev/v1/charge-session/start',
23
+ '/charge-session/start',
24
24
  Server::DEFAULT)
25
25
  .header_param(new_parameter(request_id, key: 'RequestId'))
26
26
  .header_param(new_parameter('application/json', key: 'Content-Type'))
@@ -66,12 +66,12 @@ module ShellEv
66
66
  # 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4
67
67
  # hyphens) <br>
68
68
  # @param [String] session_id Required parameter: Session Id
69
- # @return [InlineResponse2021] response from the API call
69
+ # @return [InlineResponse2021] response from the API call.
70
70
  def stop(request_id,
71
71
  session_id)
72
72
  new_api_call_builder
73
73
  .request(new_request_builder(HttpMethodEnum::POST,
74
- '/ev/v1/charge-session/stop',
74
+ '/charge-session/stop',
75
75
  Server::DEFAULT)
76
76
  .header_param(new_parameter(request_id, key: 'RequestId'))
77
77
  .query_param(new_parameter(session_id, key: 'sessionId'))
@@ -114,12 +114,12 @@ module ShellEv
114
114
  # 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4
115
115
  # hyphens) <br>
116
116
  # @param [String] session_id Required parameter: Session Id
117
- # @return [GetChargeSessionRetrieveResponse200Json] response from the API call
117
+ # @return [GetChargeSessionRetrieveResponse200Json] response from the API call.
118
118
  def get_charge_session_retrieve(request_id,
119
119
  session_id)
120
120
  new_api_call_builder
121
121
  .request(new_request_builder(HttpMethodEnum::GET,
122
- '/ev/v1/charge-session/retrieve',
122
+ '/charge-session/retrieve',
123
123
  Server::DEFAULT)
124
124
  .header_param(new_parameter(request_id, key: 'RequestId'))
125
125
  .query_param(new_parameter(session_id, key: 'sessionId'))
@@ -163,12 +163,12 @@ module ShellEv
163
163
  # hyphens) <br>
164
164
  # @param [String] ema_id Required parameter: Emobility Account
165
165
  # Identifier(Ema-ID)
166
- # @return [ActiveResponse200Json] response from the API call
166
+ # @return [ActiveResponse200Json] response from the API call.
167
167
  def active(request_id,
168
168
  ema_id)
169
169
  new_api_call_builder
170
170
  .request(new_request_builder(HttpMethodEnum::GET,
171
- '/ev/v1/charge-session/active',
171
+ '/charge-session/active',
172
172
  Server::DEFAULT)
173
173
  .header_param(new_parameter(request_id, key: 'RequestId'))
174
174
  .query_param(new_parameter(ema_id, key: 'emaId'))
@@ -57,7 +57,7 @@ module ShellEv
57
57
  # @param [Array[String]] exclude_country Optional parameter: Filter by
58
58
  # Locations that are not in one of the given countries (specified using ISO
59
59
  # 3166-1 alpha-3 codes)
60
- # @return [Response] response from the API call
60
+ # @return [Response] response from the API call.
61
61
  def get_ev_locations(request_id,
62
62
  evse_status: nil,
63
63
  connector_types: nil,
@@ -74,7 +74,7 @@ module ShellEv
74
74
  exclude_country: nil)
75
75
  new_api_call_builder
76
76
  .request(new_request_builder(HttpMethodEnum::GET,
77
- '/locations/v1/ev',
77
+ '/locations',
78
78
  Server::DEFAULT)
79
79
  .header_param(new_parameter(request_id, key: 'RequestId'))
80
80
  .query_param(new_parameter(evse_status, key: 'evseStatus'))
@@ -137,14 +137,14 @@ module ShellEv
137
137
  # wish to see locations and tariffs for
138
138
  # @param [String] since Optional parameter: to get the locations modified
139
139
  # after a date
140
- # @return [Response] response from the API call
140
+ # @return [Response] response from the API call.
141
141
  def ev_locations_by_id(request_id,
142
142
  id,
143
143
  provider_id: nil,
144
144
  since: nil)
145
145
  new_api_call_builder
146
146
  .request(new_request_builder(HttpMethodEnum::GET,
147
- '/locations/v1/ev/{id}',
147
+ '/locations/{id}',
148
148
  Server::DEFAULT)
149
149
  .header_param(new_parameter(request_id, key: 'RequestId'))
150
150
  .template_param(new_parameter(id, key: 'id')
@@ -216,14 +216,14 @@ module ShellEv
216
216
  # given by the Operator, unique for that Operator
217
217
  # @param [String] operator_name Optional parameter: Filter by Locations that
218
218
  # have the given operator
219
- # @param [NearbyLocationsEvseStatusEnum] evse_status Optional parameter:
219
+ # @param [GetEVLocationsEvseStatusEnum] evse_status Optional parameter:
220
220
  # Filter by Locations that have the given status
221
221
  # @param [NearbyLocationsConnectorTypesEnum] connector_types Optional
222
222
  # parameter: Filter by Locations that have Connectors with these Connector
223
223
  # Types
224
224
  # @param [Float] connector_min_power Optional parameter: Filter by Locations
225
225
  # that have a Connector with at least this power output (in kW)
226
- # @param [NearbyLocationsAuthorizationMethodsEnum] authorization_methods
226
+ # @param [GetEVLocationsAuthorizationMethodsEnum] authorization_methods
227
227
  # Optional parameter: Filter by Locations that support the given
228
228
  # Authorization Methods
229
229
  # @param [TrueClass | FalseClass] with_operator_name Optional parameter:
@@ -238,7 +238,7 @@ module ShellEv
238
238
  # @param [Array[String]] exclude_country Optional parameter: Filter by
239
239
  # Locations that are not in one of the given countries (specified using ISO
240
240
  # 3166-1 alpha-3 codes)
241
- # @return [Response] response from the API call
241
+ # @return [Response] response from the API call.
242
242
  def nearby_locations(request_id,
243
243
  latitude,
244
244
  longitude,
@@ -257,7 +257,7 @@ module ShellEv
257
257
  exclude_country: nil)
258
258
  new_api_call_builder
259
259
  .request(new_request_builder(HttpMethodEnum::GET,
260
- '/locations/v1/ev/nearby',
260
+ '/locations/nearby',
261
261
  Server::DEFAULT)
262
262
  .header_param(new_parameter(request_id, key: 'RequestId'))
263
263
  .query_param(new_parameter(latitude, key: 'latitude'))
@@ -330,14 +330,14 @@ module ShellEv
330
330
  # get the Shell Recharge Locations
331
331
  # @param [String] zoom Required parameter: Zoom level to show ex: (1: World,
332
332
  # 5: Landmass/continent, 10: City, 15: Streets, 20: Buildings)
333
- # @param [LocationsMarkersEvseStatusEnum] evse_status Optional parameter:
333
+ # @param [GetEVLocationsEvseStatusEnum] evse_status Optional parameter:
334
334
  # Filter by Locations that have the given status
335
- # @param [LocationsMarkersConnectorTypesEnum] connector_types Optional
335
+ # @param [GetEVLocationsConnectorTypesEnum] connector_types Optional
336
336
  # parameter: Filter by Locations that have Connectors with the set of
337
337
  # Connector Types
338
338
  # @param [Float] connector_min_power Optional parameter: Filter by Locations
339
339
  # that have a Connector with at least this power output (in kW)
340
- # @param [LocationsMarkersAuthorizationMethodsEnum] authorization_methods
340
+ # @param [GetEVLocationsAuthorizationMethodsEnum] authorization_methods
341
341
  # Optional parameter: Filter by Locations that support the given
342
342
  # Authorization Methods
343
343
  # @param [TrueClass | FalseClass] with_operator_name Optional parameter:
@@ -362,7 +362,7 @@ module ShellEv
362
362
  # @param [Array[String]] exclude_country Optional parameter: Filter by
363
363
  # Locations that are not in one of the given countries (specified using ISO
364
364
  # 3166-1 alpha-3 codes)
365
- # @return [SingleLocationMarkerResponse] response from the API call
365
+ # @return [SingleLocationMarkerResponse] response from the API call.
366
366
  def locations_markers(request_id,
367
367
  west,
368
368
  south,
@@ -383,7 +383,7 @@ module ShellEv
383
383
  exclude_country: nil)
384
384
  new_api_call_builder
385
385
  .request(new_request_builder(HttpMethodEnum::GET,
386
- '/locations/v1/ev/markers',
386
+ '/locations/markers',
387
387
  Server::DEFAULT)
388
388
  .header_param(new_parameter(request_id, key: 'RequestId'))
389
389
  .query_param(new_parameter(west, key: 'west'))
@@ -13,14 +13,14 @@ module ShellEv
13
13
  # space-delimited list.
14
14
  # @param [Hash] _field_parameters Additional optional form parameters are
15
15
  # supported by this endpoint.
16
- # @return [OAuthToken] response from the API call
16
+ # @return [OAuthToken] response from the API call.
17
17
  def request_token(authorization,
18
18
  scope: nil,
19
19
  _field_parameters: nil)
20
20
  new_api_call_builder
21
21
  .request(new_request_builder(HttpMethodEnum::POST,
22
- '/v1/oauth/token',
23
- Server::DEFAULT)
22
+ '/token',
23
+ Server::ACCESS_TOKEN_SERVER)
24
24
  .form_param(new_parameter('client_credentials', key: 'grant_type'))
25
25
  .header_param(new_parameter(authorization, key: 'Authorization'))
26
26
  .form_param(new_parameter(scope, key: 'scope'))
@@ -14,11 +14,13 @@ module ShellEv
14
14
  # @return [UUID | String]
15
15
  attr_accessor :request_id
16
16
 
17
- # Indicates overall status of the request
18
- # @return [ActiveResponse200JsonStatusEnum]
17
+ # Mandatory UUID (according to RFC 4122 standards) for requests and
18
+ # responses. This will be played back in the response from the request.
19
+ # @return [GetChargeSessionRetrieveResponse200JsonStatusEnum]
19
20
  attr_accessor :status
20
21
 
21
- # Indicates overall status of the request
22
+ # Mandatory UUID (according to RFC 4122 standards) for requests and
23
+ # responses. This will be played back in the response from the request.
22
24
  # @return [Array[DataActive]]
23
25
  attr_accessor :data
24
26
 
@@ -5,6 +5,7 @@
5
5
 
6
6
  module ShellEv
7
7
  # Base model.
8
+ # rubocop:disable all
8
9
  class BaseModel < CoreLibrary::BaseModel
9
10
  # Returns a Hash representation of the current object.
10
11
  def to_hash
@@ -15,48 +16,95 @@ module ShellEv
15
16
  instance_variables.each do |name|
16
17
  value = instance_variable_get(name)
17
18
  name = name[1..]
18
- key = self.class.names.key?(name) ? self.class.names[name] : name
19
- optional_fields = self.class.optionals
20
- nullable_fields = self.class.nullables
21
- if value.nil?
22
- next unless nullable_fields.include?(name)
23
-
24
- if !optional_fields.include?(name) && !nullable_fields.include?(name)
25
- raise ArgumentError,
26
- "`#{name}` cannot be nil in `#{self.class}`. Please specify a valid value."
19
+ if name == 'additional_properties'
20
+ additional_properties = process_additional_properties(value, self.class.names)
21
+ hash.merge!(additional_properties)
22
+ else
23
+ key = self.class.names.key?(name) ? self.class.names[name] : name
24
+ optional_fields = self.class.optionals
25
+ nullable_fields = self.class.nullables
26
+ if value.nil?
27
+ next unless nullable_fields.include?(name)
28
+
29
+ if !optional_fields.include?(name) && !nullable_fields.include?(name)
30
+ raise ArgumentError,
31
+ "`#{name}` cannot be nil in `#{self.class}`. Please specify a valid value."
32
+ end
27
33
  end
28
- end
29
34
 
30
- hash[key] = nil
31
- unless value.nil?
32
- if respond_to?("to_custom_#{name}")
33
- if (value.instance_of? Array) || (value.instance_of? Hash)
34
- params = [hash, key]
35
- hash[key] = send("to_custom_#{name}", *params)
35
+ hash[key] = nil
36
+ unless value.nil?
37
+ if respond_to?("to_custom_#{name}")
38
+ if (value.instance_of? Array) || (value.instance_of? Hash)
39
+ params = [hash, key]
40
+ hash[key] = send("to_custom_#{name}", *params)
41
+ else
42
+ hash[key] = send("to_custom_#{name}")
43
+ end
44
+ elsif respond_to?("to_union_type_#{name}")
45
+ hash[key] = send("to_union_type_#{name}")
46
+ elsif value.instance_of? Array
47
+ hash[key] = value.map { |v| v.is_a?(BaseModel) ? v.to_hash : v }
48
+ elsif value.instance_of? Hash
49
+ hash[key] = {}
50
+ value.each do |k, v|
51
+ hash[key][k] = v.is_a?(BaseModel) ? v.to_hash : v
52
+ end
36
53
  else
37
- hash[key] = send("to_custom_#{name}")
54
+ hash[key] = value.is_a?(BaseModel) ? value.to_hash : value
38
55
  end
39
- elsif respond_to?("to_union_type_#{name}")
40
- hash[key] = send("to_union_type_#{name}")
41
- elsif value.instance_of? Array
42
- hash[key] = value.map { |v| v.is_a?(BaseModel) ? v.to_hash : v }
43
- elsif value.instance_of? Hash
44
- hash[key] = {}
45
- value.each do |k, v|
46
- hash[key][k] = v.is_a?(BaseModel) ? v.to_hash : v
47
- end
48
- else
49
- hash[key] = value.is_a?(BaseModel) ? value.to_hash : value
50
56
  end
51
57
  end
52
58
  end
53
59
  hash
54
60
  end
55
61
 
62
+ # Processes additional properties, ensuring no conflicts with existing properties.
63
+ def process_additional_properties(additional_properties, existing_prop_names)
64
+ hash = {}
65
+ additional_properties.each do |name, value|
66
+ check_for_conflict(name, existing_prop_names)
67
+
68
+ hash[name] = if value.is_a?(Array)
69
+ process_array(value)
70
+ elsif value.is_a?(Hash)
71
+ process_hash(value)
72
+ else
73
+ process_basic_value(value)
74
+ end
75
+ end
76
+ hash
77
+ end
78
+
79
+ # Checks if an additional property conflicts with a model's existing property.
80
+ def check_for_conflict(name, existing_prop_names)
81
+ return unless existing_prop_names.key?(name)
82
+
83
+ raise ArgumentError, "An additional property key, '#{name}' conflicts with one of the model's properties"
84
+ end
85
+
86
+ # Processes an array of values, recursively calling `to_hash` on BaseModel objects.
87
+ def process_array(value)
88
+ value.map { |v| v.is_a?(BaseModel) ? v.to_hash : v }
89
+ end
90
+
91
+ # Processes a hash of values, recursively calling `to_hash` on BaseModel objects.
92
+ def process_hash(value)
93
+ value.transform_values do |v|
94
+ v.is_a?(BaseModel) ? v.to_hash : v
95
+ end
96
+ end
97
+
98
+ # Processes a basic value (non-array, non-hash).
99
+ def process_basic_value(value)
100
+ value.is_a?(BaseModel) ? value.to_hash : value
101
+ end
102
+
56
103
  # Returns a JSON representation of the curent object.
57
104
  def to_json(options = {})
58
105
  hash = to_hash
59
106
  hash.to_json(options)
60
107
  end
61
108
  end
109
+ # rubocop:enable all
62
110
  end
@@ -19,7 +19,8 @@ module ShellEv
19
19
  # @return [String]
20
20
  attr_accessor :external_id
21
21
 
22
- # Type of the connector in the EVSE unit.
22
+ # Identifier of the Evse as given by the Operator, unique for the containing
23
+ # EVSE'
23
24
  # @return [ConnectorVOConnectorTypeEnum]
24
25
  attr_accessor :connector_type
25
26
 
@@ -32,15 +33,16 @@ module ShellEv
32
33
  # @return [TrueClass | FalseClass]
33
34
  attr_accessor :fixed_cable
34
35
 
35
- # Tariff details for charging on this Connector
36
- # @return [TariffVO]
36
+ # Indicates whether Connector has a fixed cable attached. False by default
37
+ # (not sent in this case)
38
+ # @return [Tariff]
37
39
  attr_accessor :tariff
38
40
 
39
41
  # ISO8601-compliant UTC datetime of the last update of the Connector’s data
40
42
  # @return [String]
41
43
  attr_accessor :updated
42
44
 
43
- # Source of the last update
45
+ # ISO8601-compliant UTC datetime of the last update of the Connector’s data
44
46
  # @return [ConnectorVOUpdatedByEnum]
45
47
  attr_accessor :updated_by
46
48
 
@@ -109,7 +111,7 @@ module ShellEv
109
111
  electrical_properties = ElectricalProperties.from_hash(hash['electricalProperties']) if
110
112
  hash['electricalProperties']
111
113
  fixed_cable = hash.key?('fixedCable') ? hash['fixedCable'] : SKIP
112
- tariff = TariffVO.from_hash(hash['tariff']) if hash['tariff']
114
+ tariff = Tariff.from_hash(hash['tariff']) if hash['tariff']
113
115
  updated = hash.key?('updated') ? hash['updated'] : SKIP
114
116
  updated_by = hash.key?('updatedBy') ? hash['updatedBy'] : SKIP
115
117
  deleted = hash.key?('deleted') ? hash['deleted'] : SKIP
@@ -9,7 +9,7 @@ module ShellEv
9
9
  SKIP = Object.new
10
10
  private_constant :SKIP
11
11
 
12
- # Power Type used in this connector.
12
+ # TODO: Write general description for this method
13
13
  # @return [ElectricalPropertiesPowerTypeEnum]
14
14
  attr_accessor :power_type
15
15
 
@@ -14,11 +14,13 @@ module ShellEv
14
14
  # @return [UUID | String]
15
15
  attr_accessor :request_id
16
16
 
17
- # Indicates overall status of the request
17
+ # Mandatory UUID (according to RFC 4122 standards) for requests and
18
+ # responses. This will be played back in the response from the request.
18
19
  # @return [GetChargeSessionRetrieveResponse200JsonStatusEnum]
19
20
  attr_accessor :status
20
21
 
21
- # Indicates overall status of the request
22
+ # Mandatory UUID (according to RFC 4122 standards) for requests and
23
+ # responses. This will be played back in the response from the request.
22
24
  # @return [Array[DataRetrieve]]
23
25
  attr_accessor :data
24
26
 
@@ -4,7 +4,7 @@
4
4
  # ( https://apimatic.io ).
5
5
 
6
6
  module ShellEv
7
- # getEVLocationsAuthorizationMethods.
7
+ # Filter by Locations that support the given Authorization Methods
8
8
  class GetEVLocationsAuthorizationMethodsEnum
9
9
  GET_EV_LOCATIONS_AUTHORIZATION_METHODS_ENUM = [
10
10
  # TODO: Write general description for NEWMOTIONAPP
@@ -4,7 +4,7 @@
4
4
  # ( https://apimatic.io ).
5
5
 
6
6
  module ShellEv
7
- # getEVLocationsConnectorTypes.
7
+ # Filter by Locations that have Connectors with the set of Connector Types
8
8
  class GetEVLocationsConnectorTypesEnum
9
9
  GET_EV_LOCATIONS_CONNECTOR_TYPES_ENUM = [
10
10
  # TODO: Write general description for AVCON
@@ -4,7 +4,7 @@
4
4
  # ( https://apimatic.io ).
5
5
 
6
6
  module ShellEv
7
- # getEVLocationsEvseStatus.
7
+ # Filter by Locations that have the given status
8
8
  class GetEVLocationsEvseStatusEnum
9
9
  GET_EV_LOCATIONS_EVSE_STATUS_ENUM = [
10
10
  # TODO: Write general description for AVAILABLE
@@ -14,11 +14,13 @@ module ShellEv
14
14
  # @return [UUID | String]
15
15
  attr_accessor :request_id
16
16
 
17
- # Indicates overall status of the request
18
- # @return [InlineResponse202StatusEnum]
17
+ # Mandatory UUID (according to RFC 4122 standards) for requests and
18
+ # responses. This will be played back in the response from the request.
19
+ # @return [GetChargeSessionRetrieveResponse200JsonStatusEnum]
19
20
  attr_accessor :status
20
21
 
21
- # Indicates overall status of the request
22
+ # Mandatory UUID (according to RFC 4122 standards) for requests and
23
+ # responses. This will be played back in the response from the request.
22
24
  # @return [Array[InlineResponse202Data]]
23
25
  attr_accessor :data
24
26
 
@@ -14,8 +14,9 @@ module ShellEv
14
14
  # @return [UUID | String]
15
15
  attr_accessor :request_id
16
16
 
17
- # Indicates overall status of the request
18
- # @return [InlineResponse2021StatusEnum]
17
+ # Mandatory UUID (according to RFC 4122 standards) for requests and
18
+ # responses. This will be played back in the response from the request.
19
+ # @return [GetChargeSessionRetrieveResponse200JsonStatusEnum]
19
20
  attr_accessor :status
20
21
 
21
22
  # A mapping from model property names to API property names.
@@ -4,7 +4,7 @@
4
4
  # ( https://apimatic.io ).
5
5
 
6
6
  module ShellEv
7
- # locationsMarkersAuthorizationMethods.
7
+ # Filter by Locations that support the given Authorization Methods
8
8
  class LocationsMarkersAuthorizationMethodsEnum
9
9
  LOCATIONS_MARKERS_AUTHORIZATION_METHODS_ENUM = [
10
10
  # TODO: Write general description for NEWMOTIONAPP
@@ -4,7 +4,7 @@
4
4
  # ( https://apimatic.io ).
5
5
 
6
6
  module ShellEv
7
- # locationsMarkersConnectorTypes.
7
+ # Filter by Locations that have Connectors with the set of Connector Types
8
8
  class LocationsMarkersConnectorTypesEnum
9
9
  LOCATIONS_MARKERS_CONNECTOR_TYPES_ENUM = [
10
10
  # TODO: Write general description for AVCON
@@ -4,7 +4,7 @@
4
4
  # ( https://apimatic.io ).
5
5
 
6
6
  module ShellEv
7
- # locationsMarkersEvseStatus.
7
+ # Filter by Locations that have the given status
8
8
  class LocationsMarkersEvseStatusEnum
9
9
  LOCATIONS_MARKERS_EVSE_STATUS_ENUM = [
10
10
  # TODO: Write general description for AVAILABLE
@@ -4,7 +4,7 @@
4
4
  # ( https://apimatic.io ).
5
5
 
6
6
  module ShellEv
7
- # nearbyLocationsAuthorizationMethods.
7
+ # Filter by Locations that support the given Authorization Methods
8
8
  class NearbyLocationsAuthorizationMethodsEnum
9
9
  NEARBY_LOCATIONS_AUTHORIZATION_METHODS_ENUM = [
10
10
  # TODO: Write general description for NEWMOTIONAPP
@@ -4,7 +4,7 @@
4
4
  # ( https://apimatic.io ).
5
5
 
6
6
  module ShellEv
7
- # nearbyLocationsConnectorTypes.
7
+ # Filter by Locations that have Connectors with these Connector Types
8
8
  class NearbyLocationsConnectorTypesEnum
9
9
  NEARBY_LOCATIONS_CONNECTOR_TYPES_ENUM = [
10
10
  # TODO: Write general description for AVCON
@@ -4,7 +4,7 @@
4
4
  # ( https://apimatic.io ).
5
5
 
6
6
  module ShellEv
7
- # nearbyLocationsEvseStatus.
7
+ # Filter by Locations that have the given status
8
8
  class NearbyLocationsEvseStatusEnum
9
9
  NEARBY_LOCATIONS_EVSE_STATUS_ENUM = [
10
10
  # TODO: Write general description for AVAILABLE
@@ -9,7 +9,7 @@ module ShellEv
9
9
  SKIP = Object.new
10
10
  private_constant :SKIP
11
11
 
12
- # 3 letter day of the week
12
+ # TODO: Write general description for this method
13
13
  # @return [OpeningHoursObjectWeekDayEnum]
14
14
  attr_accessor :week_day
15
15
 
@@ -18,8 +18,7 @@ module ShellEv
18
18
  # @return [String]
19
19
  attr_accessor :unique_key
20
20
 
21
- # Minimum of all status values in the Marker, e.g. if at least one Evse in
22
- # the Marker is available, the value will be available
21
+ # Uniquely identifies the marker object
23
22
  # @return [SingleLocationMarkerStatusEnum]
24
23
  attr_accessor :status
25
24
 
@@ -0,0 +1,107 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # Tariff Model.
8
+ class Tariff < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Tariff to start a charging session
13
+ # @return [Float]
14
+ attr_accessor :start_fee
15
+
16
+ # Tariff per minute of charging time
17
+ # @return [Float]
18
+ attr_accessor :per_minute
19
+
20
+ # Tariff per kWh of energy consumed
21
+ # @return [Float]
22
+ attr_accessor :per_k_wh
23
+
24
+ # ISO 4217 Currency Code of the local currency.
25
+ # @return [String]
26
+ attr_accessor :currency
27
+
28
+ # ISO8601-compliant UTC datetime of the last update of the Tariff
29
+ # @return [String]
30
+ attr_accessor :updated
31
+
32
+ # ISO8601-compliant UTC datetime of the last update of the Tariff
33
+ # @return [TariffVOUpdatedByEnum]
34
+ attr_accessor :updated_by
35
+
36
+ # Tariff structure that this tariff belongs to, typically Default unless
37
+ # specific tariff is defined for provider
38
+ # @return [String]
39
+ attr_accessor :structure
40
+
41
+ # A mapping from model property names to API property names.
42
+ def self.names
43
+ @_hash = {} if @_hash.nil?
44
+ @_hash['start_fee'] = 'startFee'
45
+ @_hash['per_minute'] = 'perMinute'
46
+ @_hash['per_k_wh'] = 'perKWh'
47
+ @_hash['currency'] = 'currency'
48
+ @_hash['updated'] = 'updated'
49
+ @_hash['updated_by'] = 'updatedBy'
50
+ @_hash['structure'] = 'structure'
51
+ @_hash
52
+ end
53
+
54
+ # An array for optional fields
55
+ def self.optionals
56
+ %w[
57
+ start_fee
58
+ per_minute
59
+ per_k_wh
60
+ currency
61
+ updated
62
+ updated_by
63
+ structure
64
+ ]
65
+ end
66
+
67
+ # An array for nullable fields
68
+ def self.nullables
69
+ []
70
+ end
71
+
72
+ def initialize(start_fee = SKIP, per_minute = SKIP, per_k_wh = SKIP,
73
+ currency = SKIP, updated = SKIP, updated_by = SKIP,
74
+ structure = SKIP)
75
+ @start_fee = start_fee unless start_fee == SKIP
76
+ @per_minute = per_minute unless per_minute == SKIP
77
+ @per_k_wh = per_k_wh unless per_k_wh == SKIP
78
+ @currency = currency unless currency == SKIP
79
+ @updated = updated unless updated == SKIP
80
+ @updated_by = updated_by unless updated_by == SKIP
81
+ @structure = structure unless structure == SKIP
82
+ end
83
+
84
+ # Creates an instance of the object from a hash.
85
+ def self.from_hash(hash)
86
+ return nil unless hash
87
+
88
+ # Extract variables from the hash.
89
+ start_fee = hash.key?('startFee') ? hash['startFee'] : SKIP
90
+ per_minute = hash.key?('perMinute') ? hash['perMinute'] : SKIP
91
+ per_k_wh = hash.key?('perKWh') ? hash['perKWh'] : SKIP
92
+ currency = hash.key?('currency') ? hash['currency'] : SKIP
93
+ updated = hash.key?('updated') ? hash['updated'] : SKIP
94
+ updated_by = hash.key?('updatedBy') ? hash['updatedBy'] : SKIP
95
+ structure = hash.key?('structure') ? hash['structure'] : SKIP
96
+
97
+ # Create object from extracted values.
98
+ Tariff.new(start_fee,
99
+ per_minute,
100
+ per_k_wh,
101
+ currency,
102
+ updated,
103
+ updated_by,
104
+ structure)
105
+ end
106
+ end
107
+ end
@@ -29,7 +29,7 @@ module ShellEv
29
29
  # @return [String]
30
30
  attr_accessor :updated
31
31
 
32
- # Source of the last update of the tariff details
32
+ # ISO8601-compliant UTC datetime of the last update of the Tariff
33
33
  # @return [TariffVOUpdatedByEnum]
34
34
  attr_accessor :updated_by
35
35
 
data/lib/shell_ev.rb CHANGED
@@ -58,6 +58,7 @@ require_relative 'shell_ev/models/charge_error'
58
58
  require_relative 'shell_ev/models/data_active'
59
59
  require_relative 'shell_ev/models/get_charge_session_retrieve_response200_json'
60
60
  require_relative 'shell_ev/models/active_response200_json'
61
+ require_relative 'shell_ev/models/tariff'
61
62
  require_relative 'shell_ev/models/o_auth_token'
62
63
  require_relative 'shell_ev/models/' \
63
64
  'single_location_marker_authorization_methods_items_enum'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ev-recharge-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - developer sdksio
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-24 00:00:00.000000000 Z
11
+ date: 2024-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: apimatic_core_interfaces
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.3.9
33
+ version: 0.3.11
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.3.9
40
+ version: 0.3.11
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: apimatic_faraday_client_adapter
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,20 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '5.14'
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- version: 5.14.1
61
+ version: 5.24.0
65
62
  type: :development
66
63
  prerelease: false
67
64
  version_requirements: !ruby/object:Gem::Requirement
68
65
  requirements:
69
66
  - - "~>"
70
67
  - !ruby/object:Gem::Version
71
- version: '5.14'
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: 5.14.1
68
+ version: 5.24.0
75
69
  - !ruby/object:Gem::Dependency
76
70
  name: minitest-proveit
77
71
  requirement: !ruby/object:Gem::Requirement
@@ -170,6 +164,7 @@ files:
170
164
  - lib/shell_ev/models/single_location_marker_authorization_methods_items_enum.rb
171
165
  - lib/shell_ev/models/single_location_marker_response.rb
172
166
  - lib/shell_ev/models/single_location_marker_status_enum.rb
167
+ - lib/shell_ev/models/tariff.rb
173
168
  - lib/shell_ev/models/tariff_vo.rb
174
169
  - lib/shell_ev/models/tariff_vo_updated_by_enum.rb
175
170
  - lib/shell_ev/models/unauthorized_err_msg.rb