my_john_deere_api 0.12.1 → 0.12.2

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: f9297ea3e898d79d691a1e856e58ee625b21d49e60a9f8b04cdf28b569d2239d
4
- data.tar.gz: ae7cc6bf71c857613ea576971cefafb81f7dca8d5fc1481334f3869a41644e63
3
+ metadata.gz: 19b47734d5e6b4ad385e8ab7a23f2335da7a55cd615e9b893e7a01d32594cedf
4
+ data.tar.gz: 409d9106defce29a80ef99b98bb958cada379df66c4e01a1c81d44d47b2e96fc
5
5
  SHA512:
6
- metadata.gz: fee3ddddb9dab9d75125d803ca8a8faab7bbe1086eb77a0b09f03e980c12b1454ddb9ef14800eefe0bd980fd9476481fa761c66830fbc4eb58b2ba4b2d14fe3a
7
- data.tar.gz: a1536a1ea130a74590d8345c8e8f58f253bdd36676826e79726b83309e737252c10c7c57f2715a9e74652471d0a3bbd7d6e6b8dd008694f8bc655d4806d74c77
6
+ metadata.gz: 8d0133e30516d2a70e9fbd466ed74b2a6aefc8dbcbf69cd84cf935742e682d4077571db4839bcfd49ee2a707f901bfa87012b3c49e07f5d3176a36f7277de490
7
+ data.tar.gz: e3e87c29522b6e70fca48b612ac13a19d78abcfc9c27f2f755f8a601630f336092dc325f932b98db7985755f931a6d1041fb9df6a437e58c6aba6c0bb7c67183
@@ -1,75 +1,69 @@
1
- class MyJohnDeereApi::Authorize
2
- attr_reader :api_key, :api_secret,
3
- :request_token, :request_secret,
4
- :access_token, :access_secret,
5
- :environment, :options
6
-
7
- DEFAULTS = {
8
- environment: :live
9
- }
10
-
11
- ##
12
- # Create an Authorize object.
13
- #
14
- # This is used to obtain authentication an access key/secret
15
- # on behalf of a user.
16
-
17
- def initialize(api_key, api_secret, options = {})
18
- @options = DEFAULTS.merge(options)
19
-
20
- @api_key = api_key
21
- @api_secret = api_secret
22
- self.environment = @options[:environment]
23
- end
24
-
25
- ##
26
- # Option a url which may be used to obtain a verification
27
- # code from the oauth server.
28
-
29
- def authorize_url
30
- return @authorize_url if defined?(@authorize_url)
31
-
32
- request_options = options.slice(:oauth_callback)
33
-
34
- requester = consumer.get_request_token(request_options)
35
- @request_token = requester.token
36
- @request_secret = requester.secret
37
-
38
- @authorize_url = requester.authorize_url(request_options)
39
- end
40
-
41
- ##
42
- # API consumer that makes non-user-specific GET requests
43
-
44
- def consumer
45
- return @consumer if defined?(@consumer)
46
- @consumer = MyJohnDeereApi::Consumer.new(@api_key, @api_secret, environment: environment).app_get
47
- end
48
-
49
- ##
50
- # Turn a verification code into access tokens. If this is
51
- # run from a separate process than the one that created
52
- # the initial RequestToken, the request token/secret
53
- # can be passed in.
54
-
55
- def verify(code, token=nil, secret=nil)
56
- token ||= request_token
57
- secret ||= request_secret
58
-
59
- requester = OAuth::RequestToken.new(consumer, token, secret)
60
- access_object = requester.get_access_token(oauth_verifier: code)
61
- @access_token = access_object.token
62
- @access_secret = access_object.secret
63
- nil
64
- end
65
-
66
- private
67
-
68
- ##
69
- # intelligently sets the environment
70
-
71
- def environment=(value)
72
- value = value.to_sym
73
- @environment = value == :production ? :live : value
1
+ module MyJohnDeereApi
2
+ class Authorize
3
+ include Helpers::EnvironmentHelper
4
+
5
+ attr_reader :api_key, :api_secret,
6
+ :request_token, :request_secret,
7
+ :access_token, :access_secret,
8
+ :environment, :options
9
+
10
+ DEFAULTS = {
11
+ environment: :live
12
+ }
13
+
14
+ ##
15
+ # Create an Authorize object.
16
+ #
17
+ # This is used to obtain authentication an access key/secret
18
+ # on behalf of a user.
19
+
20
+ def initialize(api_key, api_secret, options = {})
21
+ @options = DEFAULTS.merge(options)
22
+
23
+ @api_key = api_key
24
+ @api_secret = api_secret
25
+ self.environment = @options[:environment]
26
+ end
27
+
28
+ ##
29
+ # Option a url which may be used to obtain a verification
30
+ # code from the oauth server.
31
+
32
+ def authorize_url
33
+ return @authorize_url if defined?(@authorize_url)
34
+
35
+ request_options = options.slice(:oauth_callback)
36
+
37
+ requester = consumer.get_request_token(request_options)
38
+ @request_token = requester.token
39
+ @request_secret = requester.secret
40
+
41
+ @authorize_url = requester.authorize_url(request_options)
42
+ end
43
+
44
+ ##
45
+ # API consumer that makes non-user-specific GET requests
46
+
47
+ def consumer
48
+ return @consumer if defined?(@consumer)
49
+ @consumer = MyJohnDeereApi::Consumer.new(@api_key, @api_secret, environment: environment).app_get
50
+ end
51
+
52
+ ##
53
+ # Turn a verification code into access tokens. If this is
54
+ # run from a separate process than the one that created
55
+ # the initial RequestToken, the request token/secret
56
+ # can be passed in.
57
+
58
+ def verify(code, token=nil, secret=nil)
59
+ token ||= request_token
60
+ secret ||= request_secret
61
+
62
+ requester = OAuth::RequestToken.new(consumer, token, secret)
63
+ access_object = requester.get_access_token(oauth_verifier: code)
64
+ @access_token = access_object.token
65
+ @access_secret = access_object.secret
66
+ nil
67
+ end
74
68
  end
75
69
  end
@@ -1,115 +1,112 @@
1
- class MyJohnDeereApi::Client
2
- attr_reader :api_key, :api_secret, :access_token, :access_secret, :environment
3
-
4
- DEFAULTS = {
5
- environment: :live
6
- }
7
-
8
- ##
9
- # Creates the client with everthing it needs to perform API requests.
10
- # User-specific credentials are optional, but user-specific API
11
- # requests are only possible if they are supplied.
12
- #
13
- # options:
14
- #
15
- # [:environment] :sandbox or :live
16
- #
17
- # [:access] an array with two elements, the access_token
18
- # and the access_secret of the given user
19
-
20
- def initialize(api_key, api_secret, options = {})
21
- options = DEFAULTS.merge(options)
22
-
23
- @api_key = api_key
24
- @api_secret = api_secret
25
-
26
- if options.has_key?(:access) && options[:access].is_a?(Array)
27
- @access_token, @access_secret = options[:access]
1
+ module MyJohnDeereApi
2
+ class Client
3
+ include Helpers::EnvironmentHelper
4
+
5
+ attr_reader :api_key, :api_secret, :access_token, :access_secret, :environment
6
+
7
+ DEFAULTS = {
8
+ environment: :live
9
+ }
10
+
11
+ ##
12
+ # Creates the client with everthing it needs to perform API requests.
13
+ # User-specific credentials are optional, but user-specific API
14
+ # requests are only possible if they are supplied.
15
+ #
16
+ # options:
17
+ #
18
+ # [:environment] :sandbox or :live
19
+ #
20
+ # [:access] an array with two elements, the access_token
21
+ # and the access_secret of the given user
22
+
23
+ def initialize(api_key, api_secret, options = {})
24
+ options = DEFAULTS.merge(options)
25
+
26
+ @api_key = api_key
27
+ @api_secret = api_secret
28
+
29
+ if options.has_key?(:access) && options[:access].is_a?(Array)
30
+ @access_token, @access_secret = options[:access]
31
+ end
32
+
33
+ self.environment = options[:environment]
28
34
  end
29
35
 
30
- self.environment = options[:environment]
31
- end
32
-
33
- ##
34
- # generic user-specific GET request method that returns JSON
35
-
36
- def get resource
37
- resource = resource.to_s
38
- resource = "/#{resource}" unless resource =~ /^\//
39
- response = accessor.get(resource, headers)
40
-
41
- JSON.parse(response.body)
42
- end
43
-
44
- ##
45
- # generic user-specific POST request method that returns JSON
36
+ ##
37
+ # generic user-specific GET request method that returns JSON
46
38
 
47
- def post resource, body
48
- resource = resource.to_s
49
- resource = "/#{resource}" unless resource =~ /^\//
50
- response = accessor.post(resource, body.to_json, post_headers)
39
+ def get resource
40
+ resource = resource.to_s
41
+ resource = "/#{resource}" unless resource =~ /^\//
42
+ response = accessor.get(resource, headers)
51
43
 
52
- if response.body.size > 0
53
44
  JSON.parse(response.body)
54
- else
55
- {}
56
45
  end
57
- end
58
46
 
59
- ##
60
- # generic user-specific DELETE request method
47
+ ##
48
+ # generic user-specific POST request method that returns JSON
61
49
 
62
- def delete resource
63
- resource = resource.to_s
64
- resource = "/#{resource}" unless resource =~ /^\//
65
- response = accessor.delete(resource, headers)
50
+ def post resource, body
51
+ resource = resource.to_s
52
+ resource = "/#{resource}" unless resource =~ /^\//
53
+ response = accessor.post(resource, body.to_json, post_headers)
66
54
 
67
- if response.body && response.body.size > 0
68
- JSON.parse(response.body)
69
- else
70
- {}
55
+ if response.body.size > 0
56
+ JSON.parse(response.body)
57
+ else
58
+ {}
59
+ end
71
60
  end
72
- end
73
61
 
74
- ##
75
- # organizations associated with this access
62
+ ##
63
+ # generic user-specific DELETE request method
76
64
 
77
- def organizations
78
- return @organizations if defined?(@organizations)
79
- @organizations = MyJohnDeereApi::Request::Collection::Organizations.new(accessor).all
80
- end
65
+ def delete resource
66
+ resource = resource.to_s
67
+ resource = "/#{resource}" unless resource =~ /^\//
68
+ response = accessor.delete(resource, headers)
81
69
 
82
- private
70
+ if response.body && response.body.size > 0
71
+ JSON.parse(response.body)
72
+ else
73
+ {}
74
+ end
75
+ end
83
76
 
84
- ##
85
- # allows :production param to be a synonym for :live
77
+ ##
78
+ # organizations associated with this access
86
79
 
87
- def environment=(value)
88
- @environment = value == :production ? :live : value
89
- end
80
+ def organizations
81
+ return @organizations if defined?(@organizations)
82
+ @organizations = MyJohnDeereApi::Request::Collection::Organizations.new(accessor).all
83
+ end
90
84
 
91
- ##
92
- # Returns an oAuth consumer which can be used to build requests
85
+ private
93
86
 
94
- def consumer
95
- return @consumer if defined?(@consumer)
96
- @consumer = MyJohnDeereApi::Consumer.new(@api_key, @api_secret, environment: environment)
97
- end
87
+ ##
88
+ # Returns an oAuth consumer which can be used to build requests
98
89
 
99
- ##
100
- # Returns an oAuth AccessToken object which can be used to make
101
- # user-specific API requests
90
+ def consumer
91
+ return @consumer if defined?(@consumer)
92
+ @consumer = MyJohnDeereApi::Consumer.new(@api_key, @api_secret, environment: environment)
93
+ end
102
94
 
103
- def accessor
104
- return @accessor if defined?(@accessor)
105
- @accessor = OAuth::AccessToken.new(consumer.user_get, access_token, access_secret)
106
- end
95
+ ##
96
+ # Returns an oAuth AccessToken object which can be used to make
97
+ # user-specific API requests
107
98
 
108
- def headers
109
- @headers ||= {accept: 'application/vnd.deere.axiom.v3+json'}
110
- end
99
+ def accessor
100
+ return @accessor if defined?(@accessor)
101
+ @accessor = OAuth::AccessToken.new(consumer.user_get, access_token, access_secret)
102
+ end
111
103
 
112
- def post_headers
113
- @post_headers ||= headers.merge({'Content-Type' => 'application/vnd.deere.axiom.v3+json'})
104
+ def headers
105
+ @headers ||= {accept: 'application/vnd.deere.axiom.v3+json'}
106
+ end
107
+
108
+ def post_headers
109
+ @post_headers ||= headers.merge({'Content-Type' => 'application/vnd.deere.axiom.v3+json'})
110
+ end
114
111
  end
115
112
  end
@@ -1,6 +1,7 @@
1
1
  module MyJohnDeereApi
2
2
  class Consumer
3
3
  include Helpers::CaseConversion
4
+ include Helpers::EnvironmentHelper
4
5
 
5
6
  attr_reader :api_key, :api_secret, :environment, :base_url
6
7
 
@@ -41,14 +42,6 @@ module MyJohnDeereApi
41
42
 
42
43
  private
43
44
 
44
- ##
45
- # intelligently sets the environment
46
-
47
- def environment=(value)
48
- value = value.to_sym
49
- @environment = value == :production ? :live : value
50
- end
51
-
52
45
  def consumer(site)
53
46
  OAuth::Consumer.new(
54
47
  api_key,
@@ -0,0 +1,18 @@
1
+ module MyJohnDeereApi
2
+ ##
3
+ # This error is used when an unsupported environment has been requested.
4
+ # Supported environments currently include :sandbox, :live, and :production
5
+ # as a synonym for :live.
6
+
7
+ class UnsupportedEnvironmentError < StandardError
8
+ def initialize(environment = nil)
9
+ message = if environment
10
+ "The #{environment.inspect} environment is not supported."
11
+ else
12
+ 'This environment is not supported.'
13
+ end
14
+
15
+ super(message)
16
+ end
17
+ end
18
+ end
@@ -2,4 +2,5 @@ module MyJohnDeereApi::Errors
2
2
  require 'my_john_deere_api/errors/access_token_error'
3
3
  require 'my_john_deere_api/errors/invalid_record_error'
4
4
  require 'my_john_deere_api/errors/type_mismatch_error'
5
+ require 'my_john_deere_api/errors/unsupported_environment_error'
5
6
  end
@@ -0,0 +1,25 @@
1
+ require 'uri'
2
+
3
+ module MyJohnDeereApi
4
+ module Helpers::EnvironmentHelper
5
+ attr_reader :environment
6
+
7
+ private
8
+
9
+ ##
10
+ # Intelligently set the environment
11
+
12
+ def environment=(value)
13
+ value = (value || :live).to_sym
14
+
15
+ @environment = case value
16
+ when :sandbox, :live
17
+ value
18
+ when :production
19
+ :live
20
+ else
21
+ raise UnsupportedEnvironmentError, value
22
+ end
23
+ end
24
+ end
25
+ end
@@ -1,4 +1,5 @@
1
1
  module MyJohnDeereApi::Helpers
2
2
  autoload :UriHelpers, 'my_john_deere_api/helpers/uri_helpers'
3
3
  autoload :CaseConversion, 'my_john_deere_api/helpers/case_conversion'
4
+ autoload :EnvironmentHelper, 'my_john_deere_api/helpers/environment_helper'
4
5
  end
@@ -1,3 +1,3 @@
1
1
  module MyJohnDeereApi
2
- VERSION='0.12.1'
2
+ VERSION='0.12.2'
3
3
  end
@@ -23,40 +23,12 @@ describe 'MyJohnDeereApi::Authorize' do
23
23
  assert_equal API_SECRET, authorize.api_secret
24
24
  end
25
25
 
26
- it 'sets the sandbox environment' do
26
+ it 'accepts the environment' do
27
27
  environment = :sandbox
28
28
 
29
29
  authorize = VCR.use_cassette('catalog') { JD::Authorize.new(API_KEY, API_SECRET, environment: environment) }
30
30
  assert_equal environment, authorize.environment
31
31
  end
32
-
33
- it 'sets the live environment' do
34
- environment = :live
35
-
36
- authorize = VCR.use_cassette('catalog') { JD::Authorize.new(API_KEY, API_SECRET, environment: environment) }
37
- assert_equal environment, authorize.environment
38
- end
39
-
40
- it 'accepts production as a synonym for live environment' do
41
- environment = :production
42
-
43
- authorize = VCR.use_cassette('catalog') { JD::Authorize.new(API_KEY, API_SECRET, environment: environment) }
44
- assert_equal :live, authorize.environment
45
- end
46
-
47
- it 'converts environment to symbol' do
48
- environment = 'sandbox'
49
-
50
- authorize = VCR.use_cassette('catalog') { JD::Authorize.new(API_KEY, API_SECRET, environment: environment) }
51
- assert_equal environment.to_sym, authorize.environment
52
- end
53
-
54
- it 'defaults to live environment' do
55
- environment = :live
56
-
57
- authorize = VCR.use_cassette('catalog') { JD::Authorize.new(API_KEY, API_SECRET) }
58
- assert_equal environment, authorize.environment
59
- end
60
32
  end
61
33
 
62
34
  describe '#consumer' do
@@ -19,33 +19,12 @@ describe 'MyJohnDeereApi::Client' do
19
19
  assert_equal access_secret, client.access_secret
20
20
  end
21
21
 
22
- it 'accepts sandbox environment' do
22
+ it 'accepts the environment' do
23
23
  environment = :sandbox
24
24
 
25
25
  client = JD::Client.new(API_KEY, API_SECRET, environment: environment)
26
26
  assert_equal environment, client.environment
27
27
  end
28
-
29
- it 'accepts live environment' do
30
- environment = :live
31
-
32
- client = JD::Client.new(API_KEY, API_SECRET, environment: environment)
33
- assert_equal environment, client.environment
34
- end
35
-
36
- it 'accepts production as a synonym for live' do
37
- environment = :production
38
-
39
- client = JD::Client.new(API_KEY, API_SECRET, environment: environment)
40
- assert_equal :live, client.environment
41
- end
42
-
43
- it 'defaults to live environment' do
44
- environment = :live
45
-
46
- client = JD::Client.new(API_KEY, API_SECRET)
47
- assert_equal environment, client.environment
48
- end
49
28
  end
50
29
 
51
30
  describe '#get' do
@@ -9,7 +9,7 @@ describe 'JD::Consumer' do
9
9
  assert_equal API_SECRET, consumer.api_secret
10
10
  end
11
11
 
12
- it 'accepts sandbox environment' do
12
+ it 'accepts the environment' do
13
13
  environment = :sandbox
14
14
  consumer = JD::Consumer.new(API_KEY, API_SECRET, environment: environment)
15
15
 
@@ -17,38 +17,6 @@ describe 'JD::Consumer' do
17
17
  assert_equal JD::Consumer::URLS[environment], consumer.base_url
18
18
  end
19
19
 
20
- it 'accepts live environment' do
21
- environment = :live
22
- consumer = JD::Consumer.new(API_KEY, API_SECRET, environment: environment)
23
-
24
- assert_equal environment, consumer.environment
25
- assert_equal JD::Consumer::URLS[environment], consumer.base_url
26
- end
27
-
28
- it 'accepts production as a synonym for live environment' do
29
- environment = :production
30
- consumer = JD::Consumer.new(API_KEY, API_SECRET, environment: environment)
31
-
32
- assert_equal :live, consumer.environment
33
- assert_equal JD::Consumer::URLS[:live], consumer.base_url
34
- end
35
-
36
- it 'defaults to live environment' do
37
- default_environment = :live
38
- consumer = JD::Consumer.new(API_KEY, API_SECRET)
39
-
40
- assert_equal default_environment, consumer.environment
41
- assert_equal JD::Consumer::URLS[default_environment], consumer.base_url
42
- end
43
-
44
- it 'converts environment string to symbol' do
45
- environment = 'sandbox'
46
- consumer = JD::Consumer.new(API_KEY, API_SECRET, environment: environment)
47
-
48
- assert_equal environment.to_sym, consumer.environment
49
- assert_equal JD::Consumer::URLS[environment.to_sym], consumer.base_url
50
- end
51
-
52
20
  it 'accepts an arbitrary base_url' do
53
21
  base_url = 'https://example.com'
54
22
  consumer = JD::Consumer.new(API_KEY, API_SECRET, base_url: base_url)
@@ -0,0 +1,18 @@
1
+ require 'support/helper'
2
+
3
+ describe 'MyJohnDeereApi::UnsupportedEnvironmentError' do
4
+ it 'inherits from StandardError' do
5
+ error = MyJohnDeereApi::UnsupportedEnvironmentError.new
6
+ assert_kind_of StandardError, error
7
+ end
8
+
9
+ it 'has a default message' do
10
+ error = MyJohnDeereApi::UnsupportedEnvironmentError.new
11
+ assert_includes error.message, 'This environment is not supported.'
12
+ end
13
+
14
+ it 'specifies the failing environment if supplied' do
15
+ error = MyJohnDeereApi::UnsupportedEnvironmentError.new(:turtles)
16
+ assert_includes error.message, "The :turtles environment is not supported."
17
+ end
18
+ end
@@ -13,5 +13,9 @@ describe 'MyJohnDeereApi Errors' do
13
13
  it 'loads TypeMismatchError' do
14
14
  assert JD::TypeMismatchError
15
15
  end
16
+
17
+ it 'loads UnsupportedEnvironmentError' do
18
+ assert JD::UnsupportedEnvironmentError
19
+ end
16
20
  end
17
21
  end
@@ -0,0 +1,67 @@
1
+ require 'support/helper'
2
+
3
+ class EnvironmentHelperSample
4
+ include JD::Helpers::EnvironmentHelper
5
+
6
+ def initialize(environment = nil)
7
+ self.environment = environment
8
+ end
9
+ end
10
+
11
+ describe 'EnvironmentHelper' do
12
+ let(:object) { EnvironmentHelperSample.new(environment) }
13
+ let(:environment) { :sandbox }
14
+
15
+ it 'provides an attr_reader for :environment' do
16
+ assert object.environment
17
+ end
18
+
19
+ describe 'when no specific environment requested' do
20
+ let(:environment) { nil }
21
+
22
+ it 'sets the environment to :live' do
23
+ assert_equal :live, object.environment
24
+ end
25
+ end
26
+
27
+ describe 'when :sandbox environment requested' do
28
+ let(:environment) { :sandbox }
29
+
30
+ it 'sets the environment to :sandbox' do
31
+ assert_equal environment, object.environment
32
+ end
33
+ end
34
+
35
+ describe 'when :live environment requested' do
36
+ let(:environment) { :live }
37
+
38
+ it 'sets the environment to :live' do
39
+ assert_equal environment, object.environment
40
+ end
41
+ end
42
+
43
+ describe 'when :production synonym requested' do
44
+ let(:environment) { :production }
45
+
46
+ it 'sets the environment to :live' do
47
+ assert_equal :live, object.environment
48
+ end
49
+ end
50
+
51
+ describe 'when environment is passed as a string' do
52
+ let(:environment) { 'sandbox' }
53
+
54
+ it 'converts the environment to a symbol' do
55
+ assert_equal :sandbox, object.environment
56
+ end
57
+ end
58
+
59
+ describe 'when an unrecognized environment is requested' do
60
+ let(:environment) { :turtles }
61
+
62
+ it 'raises an error' do
63
+ exception = assert_raises(JD::UnsupportedEnvironmentError) { object }
64
+ assert_equal "The :turtles environment is not supported.", exception.message
65
+ end
66
+ end
67
+ end
@@ -9,5 +9,9 @@ describe 'MyJohnDeereApi::Helpers' do
9
9
  it 'loads Helpers::CaseConversion' do
10
10
  assert JD::Helpers::CaseConversion
11
11
  end
12
+
13
+ it 'loads Helpers::EnvironmentHelper' do
14
+ assert JD::Helpers::EnvironmentHelper
15
+ end
12
16
  end
13
17
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: my_john_deere_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.1
4
+ version: 0.12.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jaime Bellmyer
@@ -110,8 +110,10 @@ files:
110
110
  - lib/my_john_deere_api/errors/access_token_error.rb
111
111
  - lib/my_john_deere_api/errors/invalid_record_error.rb
112
112
  - lib/my_john_deere_api/errors/type_mismatch_error.rb
113
+ - lib/my_john_deere_api/errors/unsupported_environment_error.rb
113
114
  - lib/my_john_deere_api/helpers.rb
114
115
  - lib/my_john_deere_api/helpers/case_conversion.rb
116
+ - lib/my_john_deere_api/helpers/environment_helper.rb
115
117
  - lib/my_john_deere_api/helpers/uri_helpers.rb
116
118
  - lib/my_john_deere_api/model.rb
117
119
  - lib/my_john_deere_api/model/asset.rb
@@ -142,8 +144,10 @@ files:
142
144
  - test/lib/my_john_deere_api/errors/access_token_error_test.rb
143
145
  - test/lib/my_john_deere_api/errors/invalid_record_error_test.rb
144
146
  - test/lib/my_john_deere_api/errors/type_mismatch_error_test.rb
147
+ - test/lib/my_john_deere_api/errors/unsupported_environment_error_test.rb
145
148
  - test/lib/my_john_deere_api/errors_test.rb
146
149
  - test/lib/my_john_deere_api/helpers/case_conversion_test.rb
150
+ - test/lib/my_john_deere_api/helpers/environment_helper_test.rb
147
151
  - test/lib/my_john_deere_api/helpers/uri_helpers_test.rb
148
152
  - test/lib/my_john_deere_api/helpers_test.rb
149
153
  - test/lib/my_john_deere_api/model/asset_location_test.rb