smartcar 3.7.0 → 3.8.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: e1c4483d2719b243be93876bec15f34de1d2787308bb6a44383a9e0bbf0db00a
4
- data.tar.gz: f4774a7225f67e3ddae7d4d935fbddf9cf772994ba5a7d236c3c2e8daf5ed222
3
+ metadata.gz: fd4fcc86e7eb35c94b63f0546a0cac9795b8c9413e91da0631ddc04658e8d928
4
+ data.tar.gz: 414d4999f1919ef259a9eaee0733e4e23bf60f29a53d667684c41142c88f3f91
5
5
  SHA512:
6
- metadata.gz: 1a3c96cb014e4ad5b5797e0a8a4d74599f849f861fccee1739c916a02e77c53c105853a496a3f87b7e94e34c66046e0b49c0bc1e63b13da4a8fac6cf82c2c961
7
- data.tar.gz: 4a3d22bb0334c947b39dcd43c2950e35c1b8453ddd3f731ae589f1dfbdbbd254cae671668f712387b455328fc0e15c25e925603e90be8fff2330ff31c9412936
6
+ metadata.gz: 94512a886faac4382679adb6c6dc23464095e749907caab77c30914993cb12b084e1ea2377df9767b7bc855a14691204afb517764afa95242c4bd27575ef1695
7
+ data.tar.gz: 4f1649632ff635bf6d6a806761b33c9fbd180f572ee31b30a5584971c3a3bcbe9407b3778a3d3acbcf9d22ff7ca3fd7aedad95975735ae3877bcb52f044613ee
data/.rubocop.yml CHANGED
@@ -3,6 +3,14 @@ AllCops:
3
3
  NewCops: enable
4
4
  SuggestExtensions: false
5
5
 
6
+ # Disabling for now. Will when updating to 3.1 and 3.2
7
+ Gemspec/DevelopmentDependencies:
8
+ Enabled: false
9
+
10
+ # Disabling for now. Will when updating to 3.1 and 3.2
11
+ Gemspec/RequiredRubyVersion:
12
+ Enabled: false
13
+
6
14
  # Disabling ABC size for now as refactoring few places seems pointless for now
7
15
  Metrics/AbcSize:
8
16
  Enabled: false
data/.travis.yml CHANGED
@@ -6,11 +6,10 @@ services:
6
6
  addons:
7
7
  firefox: latest
8
8
  rvm:
9
- - 2.6
10
9
  - 2.7
11
10
  - 3.0
12
11
  before_install:
13
- - gem install bundler -v 2.1.2
12
+ - gem install bundler -v 2.3.1
14
13
  - wget https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux64.tar.gz
15
14
  - mkdir geckodriver
16
15
  - tar -xzf geckodriver-v0.26.0-linux64.tar.gz -C geckodriver
@@ -25,5 +24,5 @@ deploy:
25
24
  on:
26
25
  tags: true
27
26
  branch: master
28
- rvm: 2.6
27
+ rvm: 2.7
29
28
  skip_cleanup: 'true'
data/Gemfile.lock CHANGED
@@ -1,17 +1,17 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- smartcar (3.7.0)
4
+ smartcar (3.8.0)
5
5
  oauth2 (~> 1.4)
6
6
  recursive-open-struct (~> 1.1.3)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- addressable (2.8.0)
12
- public_suffix (>= 2.0.2, < 5.0)
11
+ addressable (2.8.5)
12
+ public_suffix (>= 2.0.2, < 6.0)
13
13
  ast (2.4.2)
14
- backport (1.2.0)
14
+ base64 (0.2.0)
15
15
  byebug (11.1.3)
16
16
  childprocess (4.1.0)
17
17
  codecov (0.5.2)
@@ -20,12 +20,15 @@ GEM
20
20
  rexml
21
21
  diff-lcs (1.5.0)
22
22
  docile (1.4.0)
23
- faraday (2.7.10)
23
+ faraday (2.7.12)
24
+ base64
24
25
  faraday-net_http (>= 2.0, < 3.1)
25
26
  ruby2_keywords (>= 0.0.4)
26
27
  faraday-net_http (3.0.2)
27
28
  hashdiff (1.0.1)
29
+ json (2.7.1)
28
30
  jwt (2.7.1)
31
+ language_server-protocol (3.17.0.3)
29
32
  multi_json (1.15.0)
30
33
  multi_xml (0.6.0)
31
34
  oauth2 (1.4.11)
@@ -34,45 +37,46 @@ GEM
34
37
  multi_json (~> 1.3)
35
38
  multi_xml (~> 0.5)
36
39
  rack (>= 1.2, < 4)
37
- parallel (1.21.0)
38
- parser (3.1.0.0)
40
+ parallel (1.23.0)
41
+ parser (3.2.2.4)
39
42
  ast (~> 2.4.1)
40
- public_suffix (4.0.6)
43
+ racc
44
+ public_suffix (5.0.4)
45
+ racc (1.7.3)
41
46
  rack (3.0.8)
42
47
  rainbow (3.1.1)
43
48
  rake (12.3.3)
44
- readapt (1.4.3)
45
- backport (~> 1.2)
46
- thor (~> 1.0)
47
49
  recursive-open-struct (1.1.3)
48
50
  redcarpet (3.5.1)
49
- regexp_parser (2.2.0)
50
- rexml (3.2.5)
51
- rspec (3.10.0)
52
- rspec-core (~> 3.10.0)
53
- rspec-expectations (~> 3.10.0)
54
- rspec-mocks (~> 3.10.0)
55
- rspec-core (3.10.1)
56
- rspec-support (~> 3.10.0)
57
- rspec-expectations (3.10.1)
51
+ regexp_parser (2.8.3)
52
+ rexml (3.2.6)
53
+ rspec (3.12.0)
54
+ rspec-core (~> 3.12.0)
55
+ rspec-expectations (~> 3.12.0)
56
+ rspec-mocks (~> 3.12.0)
57
+ rspec-core (3.12.2)
58
+ rspec-support (~> 3.12.0)
59
+ rspec-expectations (3.12.3)
58
60
  diff-lcs (>= 1.2.0, < 2.0)
59
- rspec-support (~> 3.10.0)
60
- rspec-mocks (3.10.2)
61
+ rspec-support (~> 3.12.0)
62
+ rspec-mocks (3.12.6)
61
63
  diff-lcs (>= 1.2.0, < 2.0)
62
- rspec-support (~> 3.10.0)
63
- rspec-support (3.10.3)
64
- rubocop (1.24.1)
64
+ rspec-support (~> 3.12.0)
65
+ rspec-support (3.12.1)
66
+ rubocop (1.58.0)
67
+ json (~> 2.3)
68
+ language_server-protocol (>= 3.17.0)
65
69
  parallel (~> 1.10)
66
- parser (>= 3.0.0.0)
70
+ parser (>= 3.2.2.4)
67
71
  rainbow (>= 2.2.2, < 4.0)
68
72
  regexp_parser (>= 1.8, < 3.0)
69
- rexml
70
- rubocop-ast (>= 1.15.1, < 2.0)
73
+ rexml (>= 3.2.5, < 4.0)
74
+ rubocop-ast (>= 1.30.0, < 2.0)
71
75
  ruby-progressbar (~> 1.7)
72
- unicode-display_width (>= 1.4.0, < 3.0)
73
- rubocop-ast (1.15.1)
74
- parser (>= 3.0.1.1)
75
- ruby-progressbar (1.11.0)
76
+ unicode-display_width (>= 2.4.0, < 3.0)
77
+ rubocop-ast (1.30.0)
78
+ parser (>= 3.2.1.0)
79
+ ruby-progressbar (1.13.0)
76
80
  ruby2_keywords (0.0.5)
77
81
  rubyzip (2.3.2)
78
82
  selenium-webdriver (4.1.0)
@@ -84,10 +88,9 @@ GEM
84
88
  simplecov-html (~> 0.11)
85
89
  simplecov_json_formatter (~> 0.1)
86
90
  simplecov-html (0.12.3)
87
- simplecov_json_formatter (0.1.3)
88
- thor (1.2.1)
89
- unicode-display_width (2.1.0)
90
- webmock (3.14.0)
91
+ simplecov_json_formatter (0.1.4)
92
+ unicode-display_width (2.5.0)
93
+ webmock (3.19.1)
91
94
  addressable (>= 2.8.0)
92
95
  crack (>= 0.3.2)
93
96
  hashdiff (>= 0.4.0, < 2.0.0)
@@ -101,7 +104,6 @@ DEPENDENCIES
101
104
  byebug (~> 11.0)
102
105
  codecov (~> 0.5.2)
103
106
  rake (~> 12.3, >= 12.3.3)
104
- readapt (~> 1.3)
105
107
  redcarpet (~> 3.5.0)
106
108
  rspec (~> 3.0)
107
109
  rubocop (~> 1.12)
@@ -22,7 +22,7 @@ module Smartcar
22
22
  config_name = "E2E_#{config_name}" if ENV['MODE'] == 'test'
23
23
  raise Smartcar::ConfigNotFound, "Environment variable #{config_name} not found !" unless ENV[config_name]
24
24
 
25
- ENV[config_name]
25
+ ENV.fetch(config_name, nil)
26
26
  end
27
27
 
28
28
  # Converts a hash to RecursiveOpenStruct (a powered up OpenStruct object).
@@ -59,7 +59,9 @@ module Smartcar
59
59
 
60
60
  def build_aliases(response, aliases)
61
61
  (aliases || []).each do |original_name, alias_name|
62
+ # rubocop:disable Lint/SymbolConversion
62
63
  response.send("#{alias_name}=".to_sym, response.send(original_name.to_sym))
64
+ # rubocop:enable Lint/SymbolConversion
63
65
  end
64
66
 
65
67
  response
@@ -71,6 +71,12 @@ module Smartcar
71
71
  body: proc { |limit| { limit: limit } },
72
72
  skip: true
73
73
  },
74
+ send_destination!: {
75
+ type: :post,
76
+ path: proc { |id| "/vehicles/#{id}/navigation/destination" },
77
+ body: proc { |latitude, longitude| { latitude: latitude, longitude: longitude } },
78
+ skip: true
79
+ },
74
80
  subscribe!: {
75
81
  type: :post,
76
82
  path: proc { |id, webhook_id| "/vehicles/#{id}/webhooks/#{webhook_id}" },
@@ -266,6 +272,20 @@ module Smartcar
266
272
  build_response(response, headers)
267
273
  end
268
274
 
275
+ # Send coordinates to the vehicle's navigation system
276
+ #
277
+ # @param latitude [float] value representing the destination's latitude
278
+ # @param longitude [float] value representing the destination's longitude
279
+
280
+ # @return [OpenStruct] Meta attribute with the relevant items from response headers
281
+ def send_destination!(latitude, longitude)
282
+ method_config = METHODS[:send_destination!]
283
+
284
+ response, headers = post(method_config[:path].call(id), @query_params,
285
+ method_config[:body].call(latitude, longitude))
286
+ build_response(response, headers)
287
+ end
288
+
269
289
  # Method to get batch requests.
270
290
  # API - https://smartcar.com/docs/api#post-batch-request
271
291
  # @param paths [Array] Array of paths as strings. Ex ['/battery', '/odometer']
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Smartcar
4
4
  # Gem current version number
5
- VERSION = '3.7.0'
5
+ VERSION = '3.8.0'
6
6
  end
data/ruby-sdk.gemspec CHANGED
@@ -30,7 +30,6 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency 'byebug', '~> 11.0'
31
31
  spec.add_development_dependency 'codecov', '~> 0.5.2'
32
32
  spec.add_development_dependency 'rake', '~> 12.3', '>= 12.3.3'
33
- spec.add_development_dependency 'readapt', '~> 1.3'
34
33
  spec.add_development_dependency 'redcarpet', '~> 3.5.0'
35
34
  spec.add_development_dependency 'rspec', '~> 3.0'
36
35
  spec.add_development_dependency 'rubocop', '~> 1.12'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smartcar
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.0
4
+ version: 3.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ashwin Subramanian
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-06 00:00:00.000000000 Z
11
+ date: 2023-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -72,20 +72,6 @@ dependencies:
72
72
  - - ">="
73
73
  - !ruby/object:Gem::Version
74
74
  version: 12.3.3
75
- - !ruby/object:Gem::Dependency
76
- name: readapt
77
- requirement: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - "~>"
80
- - !ruby/object:Gem::Version
81
- version: '1.3'
82
- type: :development
83
- prerelease: false
84
- version_requirements: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - "~>"
87
- - !ruby/object:Gem::Version
88
- version: '1.3'
89
75
  - !ruby/object:Gem::Dependency
90
76
  name: redcarpet
91
77
  requirement: !ruby/object:Gem::Requirement