my_john_deere_api 2.3.0 → 2.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e4770ad629b97ce42d4a5482559e26506b78b67fcec897e6e08e849d9c38e6f7
4
- data.tar.gz: af1b02dce372ce905933242226756e298553b75b6265ebb6f44d71916b20a5cd
3
+ metadata.gz: 8b7e56857d5db19f8704d06453efd6c258a59301fbfd046fa9fc6f97f7ae0ae6
4
+ data.tar.gz: a6c869c73bc36401c52334c207964b34b4753cedef3dcd227c6f7f3afa81a53b
5
5
  SHA512:
6
- metadata.gz: 44005e84b7c7e80ba54498e9c77f6d00e9fea447fcdc67106b55fd49e1452fc88a43d37a599506c22819e7ad4f1a166562b22a7954a966ffaba1e23d697530be
7
- data.tar.gz: 964b2f971c765d5c115e7cf4f73372de6c69c77d15b7134c2b4d6137394ad78090c279305b300157228ee35916bf767f9c15f28d239d95a8c5242ae9d6cc8261
6
+ metadata.gz: e8efc6cc4fc3e1609baff17d01c41c58d022dc1a5c144b012f2f4a813e059bdee5b4c6b648ceab217586176179e5e51a7e568ff52e250a7e1ed089f247131c4a
7
+ data.tar.gz: 82ad3bebb98fbd194cf6f5e2772203548c52be2f203e1cd6564562cc2d8c24045f45be8f9616243113f84537561f28b08798c556a17b8b32608e4e01b5fd913f
@@ -0,0 +1,18 @@
1
+ require 'uri'
2
+
3
+ module MyJohnDeereApi
4
+ module Helpers::ValidateContributionDefinition
5
+ private
6
+
7
+ ##
8
+ # Raise an error if contribution_definition_id is missing
9
+
10
+ def validate_contribution_definition
11
+ if client.contribution_definition_id.nil?
12
+ raise MissingContributionDefinitionIdError
13
+ end
14
+
15
+ true
16
+ end
17
+ end
18
+ end
@@ -2,4 +2,5 @@ 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
4
  autoload :EnvironmentHelper, 'my_john_deere_api/helpers/environment_helper'
5
+ autoload :ValidateContributionDefinition, 'my_john_deere_api/helpers/validate_contribution_definition'
5
6
  end
@@ -3,6 +3,7 @@ require 'json'
3
3
  module MyJohnDeereApi
4
4
  class Request::Create::Asset < Request::Create::Base
5
5
  include Validators::Asset
6
+ include Helpers::ValidateContributionDefinition
6
7
 
7
8
  private
8
9
 
@@ -54,17 +54,6 @@ module MyJohnDeereApi
54
54
  def process_attributes
55
55
  end
56
56
 
57
- ##
58
- # Raise an error if contribution_definition_id is missing
59
-
60
- def validate_contribution_definition
61
- unless client.contribution_definition_id
62
- raise MissingContributionDefinitionIdError
63
- end
64
-
65
- true
66
- end
67
-
68
57
  ##
69
58
  # Headers for POST request
70
59
 
@@ -3,6 +3,7 @@ require 'json'
3
3
  module MyJohnDeereApi
4
4
  class Request::Update::Asset < Request::Update::Base
5
5
  include Validators::Asset
6
+ include Helpers::ValidateContributionDefinition
6
7
 
7
8
  private
8
9
 
@@ -54,17 +54,6 @@ module MyJohnDeereApi
54
54
  def process_attributes
55
55
  end
56
56
 
57
- ##
58
- # Raise an error if contribution_definition_id is missing
59
-
60
- def validate_contribution_definition
61
- unless client.contribution_definition_id
62
- raise MissingContributionDefinitionIdError
63
- end
64
-
65
- true
66
- end
67
-
68
57
  ##
69
58
  # Headers for PUT request
70
59
 
@@ -1,3 +1,3 @@
1
1
  module MyJohnDeereApi
2
- VERSION='2.3.0'
2
+ VERSION='2.3.1'
3
3
  end
@@ -0,0 +1,74 @@
1
+ require 'support/helper'
2
+
3
+ class ValidateContributionDefinitionHelperSample
4
+ include JD::Helpers::ValidateContributionDefinition
5
+
6
+ attr_reader :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+ end
12
+
13
+ describe 'Helpers::ValidateContributionDefinition' do
14
+ let(:object) { ValidateContributionDefinitionHelperSample.new(client) }
15
+
16
+ describe '#validate_contribution_definition' do
17
+ it 'returns true when contribution_definition_id is present' do
18
+ assert object.send(:validate_contribution_definition)
19
+ end
20
+
21
+ it 'raises an error when contribution_definition_id is missing' do
22
+ client.contribution_definition_id = nil
23
+
24
+ assert_raises(JD::MissingContributionDefinitionIdError) do
25
+ object.send(:validate_contribution_definition)
26
+ end
27
+ end
28
+ end
29
+
30
+ # describe '#uri_path' do
31
+ # it 'extracts the path from the uri' do
32
+ # path = object.send(:uri_path, 'https://example.com/turtles')
33
+ # assert_equal '/turtles', path
34
+ # end
35
+ #
36
+ # it 'removes leading /platform from the path' do
37
+ # path = object.send(:uri_path, 'https://example.com/platform/turtles')
38
+ # assert_equal '/turtles', path
39
+ # end
40
+ #
41
+ # it 'preserves /platform in any other part of the path' do
42
+ # path = object.send(:uri_path, 'https://example.com/platform/turtles/platform')
43
+ # assert_equal '/turtles/platform', path
44
+ # end
45
+ #
46
+ # it 'is a private method' do
47
+ # exception = assert_raises(NoMethodError) { object.uri_path('https://example.com/turtles')}
48
+ # assert_includes exception.message, 'private method'
49
+ # end
50
+ # end
51
+ #
52
+ # describe '#id_from_uri(uri, label)' do
53
+ # it 'extracts the id immediately following a given label' do
54
+ # uri = 'https://example.com/cows/123/pigs/456/turtles/789/birds/012'
55
+ # assert_equal '789', object.send(:id_from_uri, uri, 'turtles')
56
+ # end
57
+ #
58
+ # it 'accepts a symbol for the label' do
59
+ # uri = 'https://example.com/cows/123/pigs/456/turtles/789/birds/012'
60
+ # assert_equal '789', object.send(:id_from_uri, uri, :turtles)
61
+ # end
62
+ #
63
+ # it 'is a private method' do
64
+ # uri = 'https://example.com/cows/123/pigs/456/turtles/789/birds/012'
65
+ #
66
+ # exception = assert_raises(NoMethodError) { object.id_from_uri(uri, 'turtles') }
67
+ # assert_includes exception.message, 'private method'
68
+ # end
69
+ # end
70
+ #
71
+ # it "preserves the public nature of the including class's other methods" do
72
+ # assert_equal 'test', object.test
73
+ # end
74
+ end
@@ -13,5 +13,9 @@ describe 'MyJohnDeereApi::Helpers' do
13
13
  it 'loads Helpers::EnvironmentHelper' do
14
14
  assert JD::Helpers::EnvironmentHelper
15
15
  end
16
+
17
+ it 'loads Helpers::ValidateContributionDefinition' do
18
+ assert JD::Helpers::ValidateContributionDefinition
19
+ end
16
20
  end
17
21
  end
@@ -26,20 +26,4 @@ describe 'MyJohnDeereApi::Request::Create::Base' do
26
26
  assert_equal expected, headers['Content-Type']
27
27
  end
28
28
  end
29
-
30
- describe '#validate_contribution_definition' do
31
- it 'does nothing when contribution_definition_id is present' do
32
- object = klass.new(client, attributes)
33
- assert object.send(:validate_contribution_definition)
34
- end
35
-
36
- it 'raises an error when contribution_definition_id is missing' do
37
- client.contribution_definition_id = nil
38
- object = klass.new(client, attributes)
39
-
40
- assert_raises(JD::MissingContributionDefinitionIdError) do
41
- object.send(:validate_contribution_definition)
42
- end
43
- end
44
- end
45
29
  end
@@ -57,20 +57,4 @@ describe 'MyJohnDeereApi::Request::Update::Base' do
57
57
  assert_equal expected, headers['Content-Type']
58
58
  end
59
59
  end
60
-
61
- describe '#validate_contribution_definition' do
62
- it 'does nothing when contribution_definition_id is present' do
63
- object = klass.new(client, item, attributes)
64
- assert object.send(:validate_contribution_definition)
65
- end
66
-
67
- it 'raises an error when contribution_definition_id is missing' do
68
- client.contribution_definition_id = nil
69
- object = klass.new(client, item, attributes)
70
-
71
- assert_raises(JD::MissingContributionDefinitionIdError) do
72
- object.send(:validate_contribution_definition)
73
- end
74
- end
75
- end
76
60
  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: 2.3.0
4
+ version: 2.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jaime Bellmyer
@@ -116,6 +116,7 @@ files:
116
116
  - lib/my_john_deere_api/helpers/case_conversion.rb
117
117
  - lib/my_john_deere_api/helpers/environment_helper.rb
118
118
  - lib/my_john_deere_api/helpers/uri_helpers.rb
119
+ - lib/my_john_deere_api/helpers/validate_contribution_definition.rb
119
120
  - lib/my_john_deere_api/model.rb
120
121
  - lib/my_john_deere_api/model/asset.rb
121
122
  - lib/my_john_deere_api/model/asset_location.rb
@@ -166,6 +167,7 @@ files:
166
167
  - test/lib/my_john_deere_api/helpers/case_conversion_test.rb
167
168
  - test/lib/my_john_deere_api/helpers/environment_helper_test.rb
168
169
  - test/lib/my_john_deere_api/helpers/uri_helpers_test.rb
170
+ - test/lib/my_john_deere_api/helpers/validate_contribution_definition_test.rb
169
171
  - test/lib/my_john_deere_api/helpers_test.rb
170
172
  - test/lib/my_john_deere_api/model/asset_location_test.rb
171
173
  - test/lib/my_john_deere_api/model/asset_test.rb