my_john_deere_api 0.8.1 → 0.8.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 +4 -4
- data/lib/my_john_deere_api/request/create/asset_location.rb +6 -19
- data/lib/my_john_deere_api/version.rb +1 -1
- data/test/lib/my_john_deere_api/request/collection/asset_locations_test.rb +12 -5
- data/test/lib/my_john_deere_api/request/collection/assets_test.rb +2 -2
- data/test/lib/my_john_deere_api/request/collection/fields_test.rb +2 -2
- data/test/lib/my_john_deere_api/request/collection/flags_test.rb +2 -2
- data/test/lib/my_john_deere_api/request/collection/organizations_test.rb +3 -3
- data/test/lib/my_john_deere_api/request/create/asset_location_test.rb +12 -16
- data/test/support/vcr/post_asset_locations-bak.yml +95 -0
- data/test/support/vcr/post_asset_locations.yml +17 -17
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 242077415772b4bb77b74351f3f98a50f5f4c593e12677ec500a2fb2dc13dced
|
4
|
+
data.tar.gz: bd92b88d075ccd0cf741011426c27ce594b6021ead50f98c05e4426f53f614cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e6e5d1d1240261d1d987053f365ed1299f9c1b9d64b8194f19d4d95c155fceebd79b2bae1e039e7f755d831b40a34b461575a2c64267e257408d76d73deb4b00
|
7
|
+
data.tar.gz: f0df1ab91d6fd93a74636a555bacc5ebca37ae1a8723c88884bf03f0244eb2a4576b26b2f112a3cd093ad602abedbd3ce54c0696cc82ce51ae688645ec66db4e
|
@@ -84,30 +84,17 @@ module MyJohnDeereApi
|
|
84
84
|
# Retrieve newly created record
|
85
85
|
|
86
86
|
def fetch_record
|
87
|
-
# There is no
|
88
|
-
#
|
89
|
-
#
|
90
|
-
#
|
87
|
+
# There is no endpoint to fetch a single location by id. We have to fetch
|
88
|
+
# them in bulk via the asset, but there could be thousands. We limit the
|
89
|
+
# request to just the first record from the location list endpoint, since
|
90
|
+
# locations are returned newest to oldest.
|
91
91
|
|
92
92
|
path = response['location'].split('/platform').last
|
93
|
-
|
94
|
-
# API will only accept a timestamp *range*, and the start must be lower
|
95
|
-
# than the end. We buffer start/end times by one second, then find the
|
96
|
-
# exact match.
|
97
|
-
start_date = timestamp_add(attributes[:timestamp], -1)
|
98
|
-
end_date = timestamp_add(attributes[:timestamp], 1)
|
99
|
-
path += "?startDate=#{start_date}&endDate=#{end_date}"
|
93
|
+
path += "?count=1"
|
100
94
|
|
101
95
|
result = accessor.get(path, headers)
|
102
96
|
|
103
|
-
|
104
|
-
# are always zero. So we compare actual DateTime objects parsed from
|
105
|
-
# the timestamp strings.
|
106
|
-
parsed_stamp = DateTime.parse(attributes[:timestamp])
|
107
|
-
|
108
|
-
JSON.parse(result.body)['values'].detect do |record|
|
109
|
-
parsed_stamp == DateTime.parse(record['timestamp'])
|
110
|
-
end
|
97
|
+
JSON.parse(result.body)['values'].first
|
111
98
|
end
|
112
99
|
|
113
100
|
##
|
@@ -34,7 +34,7 @@ describe 'MyJohnDeereApi::Request::Collection::AssetLocations' do
|
|
34
34
|
|
35
35
|
describe '#all' do
|
36
36
|
it 'returns all records' do
|
37
|
-
all = VCR.use_cassette('get_asset_locations'
|
37
|
+
all = VCR.use_cassette('get_asset_locations') { collection.all }
|
38
38
|
|
39
39
|
assert_kind_of Array, all
|
40
40
|
assert_equal collection.count, all.size
|
@@ -49,12 +49,19 @@ describe 'MyJohnDeereApi::Request::Collection::AssetLocations' do
|
|
49
49
|
describe '#create(attributes)' do
|
50
50
|
let(:asset_id) { ENV['ASSET_ID'] }
|
51
51
|
let(:timestamp) { DateTime.parse(timestamp_string) }
|
52
|
-
let(:timestamp_string) { '2020-01-
|
52
|
+
let(:timestamp_string) { '2020-01-21T10:49:00Z' }
|
53
|
+
let(:coordinates) { [-103.115633, 41.670166] }
|
53
54
|
|
54
55
|
let(:geometry) do
|
55
56
|
{
|
56
|
-
type: '
|
57
|
-
|
57
|
+
type: 'Feature',
|
58
|
+
geometry: {
|
59
|
+
geometries: [
|
60
|
+
coordinates: coordinates,
|
61
|
+
type: 'Point'
|
62
|
+
],
|
63
|
+
type: 'GeometryCollection'
|
64
|
+
}
|
58
65
|
}
|
59
66
|
end
|
60
67
|
|
@@ -116,7 +123,7 @@ describe 'MyJohnDeereApi::Request::Collection::AssetLocations' do
|
|
116
123
|
|
117
124
|
it 'returns all records as a single enumerator' do
|
118
125
|
count = VCR.use_cassette('get_asset_locations') { collection.count }
|
119
|
-
timestamps = VCR.use_cassette('get_asset_locations'
|
126
|
+
timestamps = VCR.use_cassette('get_asset_locations') { collection.map(&:timestamp) }
|
120
127
|
|
121
128
|
assert_kind_of Array, timestamps
|
122
129
|
assert_equal count, timestamps.size
|
@@ -34,7 +34,7 @@ describe 'MyJohnDeereApi::Request::Collection::Assets' do
|
|
34
34
|
|
35
35
|
describe '#all' do
|
36
36
|
it 'returns all records' do
|
37
|
-
all = VCR.use_cassette('get_assets'
|
37
|
+
all = VCR.use_cassette('get_assets') { collection.all }
|
38
38
|
|
39
39
|
assert_kind_of Array, all
|
40
40
|
assert_equal collection.count, all.size
|
@@ -95,7 +95,7 @@ describe 'MyJohnDeereApi::Request::Collection::Assets' do
|
|
95
95
|
|
96
96
|
it 'returns all records as a single enumerator' do
|
97
97
|
count = VCR.use_cassette('get_assets') { collection.count }
|
98
|
-
titles = VCR.use_cassette('get_assets'
|
98
|
+
titles = VCR.use_cassette('get_assets') { collection.map(&:title) }
|
99
99
|
|
100
100
|
assert_kind_of Array, titles
|
101
101
|
assert_equal count, titles.size
|
@@ -34,7 +34,7 @@ describe 'MyJohnDeereApi::Request::Collection::Fields' do
|
|
34
34
|
|
35
35
|
describe '#all' do
|
36
36
|
it 'returns all records' do
|
37
|
-
all = VCR.use_cassette('get_fields'
|
37
|
+
all = VCR.use_cassette('get_fields') { collection.all }
|
38
38
|
|
39
39
|
assert_kind_of Array, all
|
40
40
|
assert_equal collection.count, all.size
|
@@ -70,7 +70,7 @@ describe 'MyJohnDeereApi::Request::Collection::Fields' do
|
|
70
70
|
|
71
71
|
it 'returns all records as a single enumerator' do
|
72
72
|
count = VCR.use_cassette('get_fields') { collection.count }
|
73
|
-
names = VCR.use_cassette('get_fields'
|
73
|
+
names = VCR.use_cassette('get_fields') { collection.map{|item| item.name} }
|
74
74
|
|
75
75
|
assert_kind_of Array, names
|
76
76
|
assert_equal count, names.size
|
@@ -41,7 +41,7 @@ describe 'MyJohnDeereApi::Request::Collection::Flags' do
|
|
41
41
|
|
42
42
|
describe '#all' do
|
43
43
|
it 'returns all records' do
|
44
|
-
all = VCR.use_cassette('get_flags'
|
44
|
+
all = VCR.use_cassette('get_flags') { collection.all }
|
45
45
|
|
46
46
|
assert_kind_of Array, all
|
47
47
|
assert_equal collection.count, all.size
|
@@ -77,7 +77,7 @@ describe 'MyJohnDeereApi::Request::Collection::Flags' do
|
|
77
77
|
|
78
78
|
it 'returns all records as a single enumerator' do
|
79
79
|
count = VCR.use_cassette('get_flags') { collection.count }
|
80
|
-
geometries = VCR.use_cassette('get_flags'
|
80
|
+
geometries = VCR.use_cassette('get_flags') { collection.map{|item| item.geometry} }
|
81
81
|
|
82
82
|
assert_kind_of Array, geometries
|
83
83
|
assert_equal count, geometries.size
|
@@ -21,7 +21,7 @@ describe 'MyJohnDeereApi::Request::Collection::Organizations' do
|
|
21
21
|
|
22
22
|
describe '#all' do
|
23
23
|
it 'returns all records' do
|
24
|
-
all = VCR.use_cassette('get_organizations'
|
24
|
+
all = VCR.use_cassette('get_organizations') { collection.all }
|
25
25
|
|
26
26
|
assert_kind_of Array, all
|
27
27
|
assert_equal collection.count, all.size
|
@@ -57,7 +57,7 @@ describe 'MyJohnDeereApi::Request::Collection::Organizations' do
|
|
57
57
|
|
58
58
|
it 'returns all records as a single enumerator' do
|
59
59
|
count = VCR.use_cassette('get_organizations') { collection.count }
|
60
|
-
names = VCR.use_cassette('get_organizations'
|
60
|
+
names = VCR.use_cassette('get_organizations') { collection.map{|item| item.name} }
|
61
61
|
|
62
62
|
assert_kind_of Array, names
|
63
63
|
assert_equal count, names.size
|
@@ -68,7 +68,7 @@ describe 'MyJohnDeereApi::Request::Collection::Organizations' do
|
|
68
68
|
end
|
69
69
|
|
70
70
|
it 'passes the accessor to all organizations' do
|
71
|
-
organizations = VCR.use_cassette('get_organizations'
|
71
|
+
organizations = VCR.use_cassette('get_organizations') { collection.all }
|
72
72
|
|
73
73
|
organizations.each do |organization|
|
74
74
|
assert_equal accessor, organization.accessor
|
@@ -12,12 +12,19 @@ describe 'MyJohnDeereApi::Request::Create::AssetLocation' do
|
|
12
12
|
|
13
13
|
let(:asset_id) { ENV['ASSET_ID'] }
|
14
14
|
let(:timestamp) { DateTime.parse(timestamp_string) }
|
15
|
-
let(:timestamp_string) { '2020-01-
|
15
|
+
let(:timestamp_string) { '2020-01-21T10:49:00Z' }
|
16
|
+
let(:coordinates) { [-103.115633, 41.670166] }
|
16
17
|
|
17
18
|
let(:geometry) do
|
18
19
|
{
|
19
|
-
type: '
|
20
|
-
|
20
|
+
type: 'Feature',
|
21
|
+
geometry: {
|
22
|
+
geometries: [
|
23
|
+
coordinates: coordinates,
|
24
|
+
type: 'Point'
|
25
|
+
],
|
26
|
+
type: 'GeometryCollection'
|
27
|
+
}
|
21
28
|
}
|
22
29
|
end
|
23
30
|
|
@@ -59,24 +66,13 @@ describe 'MyJohnDeereApi::Request::Create::AssetLocation' do
|
|
59
66
|
attributes = {
|
60
67
|
asset_id: asset_id,
|
61
68
|
timestamp: timestamp,
|
62
|
-
coordinates:
|
69
|
+
coordinates: coordinates,
|
63
70
|
measurement_data: measurement_data
|
64
71
|
}
|
65
72
|
|
66
73
|
object = JD::Request::Create::AssetLocation.new(accessor, attributes)
|
67
74
|
|
68
|
-
|
69
|
-
type: 'Feature',
|
70
|
-
geometry: {
|
71
|
-
geometries: [
|
72
|
-
coordinates: geometry[:coordinates],
|
73
|
-
type: 'Point'
|
74
|
-
],
|
75
|
-
type: 'GeometryCollection'
|
76
|
-
}
|
77
|
-
}.to_json
|
78
|
-
|
79
|
-
assert_equal expected_geometry, object.attributes[:geometry]
|
75
|
+
assert_equal geometry.to_json, object.attributes[:geometry]
|
80
76
|
end
|
81
77
|
|
82
78
|
it 'defaults timestamp to current time' do
|
@@ -0,0 +1,95 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://sandboxapi.deere.com/platform/assets/029c288a-14d9-459f-8ee6-b4e840e672a1/locations
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '[{"timestamp":"2020-01-18T00:31:00Z","geometry":"{\"type\":\"Feature\",\"geometry\":{\"geometries\":[{\"coordinates\":[-103.115633,41.670166],\"type\":\"Point\"}],\"type\":\"GeometryCollection\"}}","measurementData":[{"name":"Temperature","value":"68.0","unit":"F"}]}]'
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- application/vnd.deere.axiom.v3+json
|
12
|
+
Content-Type:
|
13
|
+
- application/vnd.deere.axiom.v3+json
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
+
User-Agent:
|
17
|
+
- OAuth gem v0.5.4
|
18
|
+
Content-Length:
|
19
|
+
- '181'
|
20
|
+
Authorization:
|
21
|
+
- OAuth oauth_body_hash="iiLtEEcE%2B8AM8XC5NLttAeL92i4%3D", oauth_consumer_key="johndeere-wgmADngYCRmfpEbVgSyc709wnyRux5J7PAv8SE7B",
|
22
|
+
oauth_nonce="hMwIfcVWHIyjE51AQcMztDSCm0AWilBe4LTFZvuI", oauth_signature="ibSHPRsXfeazw1%2F5I%2BZlcipIZRk%3D",
|
23
|
+
oauth_signature_method="HMAC-SHA1", oauth_timestamp="1579308624", oauth_token="47bbb9c9-41a8-4bec-8127-e3c5760af2f6",
|
24
|
+
oauth_version="1.0"
|
25
|
+
response:
|
26
|
+
status:
|
27
|
+
code: 201
|
28
|
+
message: Created
|
29
|
+
headers:
|
30
|
+
Date:
|
31
|
+
- Sat, 18 Jan 2020 00:50:24 GMT
|
32
|
+
Content-Type:
|
33
|
+
- application/vnd.deere.axiom.v3+json
|
34
|
+
X-Deere-Handling-Server:
|
35
|
+
- ip-10-214-45-182
|
36
|
+
X-Frame-Options:
|
37
|
+
- SAMEORIGIN
|
38
|
+
Location:
|
39
|
+
- https://sandboxapi.deere.com/platform/assets/029c288a-14d9-459f-8ee6-b4e840e672a1/locations
|
40
|
+
X-Deere-Elapsed-Ms:
|
41
|
+
- '59'
|
42
|
+
Transfer-Encoding:
|
43
|
+
- chunked
|
44
|
+
body:
|
45
|
+
encoding: ASCII-8BIT
|
46
|
+
string: ''
|
47
|
+
http_version:
|
48
|
+
recorded_at: Sat, 18 Jan 2020 00:50:24 GMT
|
49
|
+
- request:
|
50
|
+
method: get
|
51
|
+
uri: https://sandboxapi.deere.com/platform/assets/029c288a-14d9-459f-8ee6-b4e840e672a1/locations?endDate=2020-01-18T00:31:01Z&startDate=2020-01-18T00:30:59Z
|
52
|
+
body:
|
53
|
+
encoding: US-ASCII
|
54
|
+
string: ''
|
55
|
+
headers:
|
56
|
+
Accept:
|
57
|
+
- application/vnd.deere.axiom.v3+json
|
58
|
+
Content-Type:
|
59
|
+
- application/vnd.deere.axiom.v3+json
|
60
|
+
Accept-Encoding:
|
61
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
62
|
+
User-Agent:
|
63
|
+
- OAuth gem v0.5.4
|
64
|
+
Authorization:
|
65
|
+
- OAuth oauth_consumer_key="johndeere-wgmADngYCRmfpEbVgSyc709wnyRux5J7PAv8SE7B",
|
66
|
+
oauth_nonce="hStGJCzcb5OY7HwmEsQwNX253TTZ85FurItAwDuxvdQ", oauth_signature="LEKTEGOy%2FmqrsGuEqvASGBYk7gY%3D",
|
67
|
+
oauth_signature_method="HMAC-SHA1", oauth_timestamp="1579308624", oauth_token="47bbb9c9-41a8-4bec-8127-e3c5760af2f6",
|
68
|
+
oauth_version="1.0"
|
69
|
+
response:
|
70
|
+
status:
|
71
|
+
code: 200
|
72
|
+
message: OK
|
73
|
+
headers:
|
74
|
+
Date:
|
75
|
+
- Sat, 18 Jan 2020 00:50:25 GMT
|
76
|
+
Content-Type:
|
77
|
+
- application/vnd.deere.axiom.v3+json;charset=UTF-8
|
78
|
+
X-Deere-Handling-Server:
|
79
|
+
- ip-10-214-45-182
|
80
|
+
X-Frame-Options:
|
81
|
+
- SAMEORIGIN
|
82
|
+
X-Deere-Elapsed-Ms:
|
83
|
+
- '44'
|
84
|
+
Cache-Control:
|
85
|
+
- no-store
|
86
|
+
Content-Language:
|
87
|
+
- en-US
|
88
|
+
Transfer-Encoding:
|
89
|
+
- chunked
|
90
|
+
body:
|
91
|
+
encoding: ASCII-8BIT
|
92
|
+
string: '{"links":[{"rel":"self","uri":"https://sandboxapi.deere.com/platform/assets/029c288a-14d9-459f-8ee6-b4e840e672a1/locations?startDate=2020-01-18T00:30:59Z&endDate=2020-01-18T00:31:01Z"}],"total":1,"values":[{"@type":"ContributedAssetLocation","timestamp":"2020-01-18T00:31:00.000Z","geometry":"{\"type\":\"Feature\",\"geometry\":{\"geometries\":[{\"coordinates\":[-103.115633,41.670166],\"type\":\"Point\"}],\"type\":\"GeometryCollection\"}}","measurementData":[{"@type":"BasicMeasurement","name":"Temperature","value":"68.0","unit":"F"}],"links":[]}]}'
|
93
|
+
http_version:
|
94
|
+
recorded_at: Sat, 18 Jan 2020 00:50:25 GMT
|
95
|
+
recorded_with: VCR 5.0.0
|
@@ -5,7 +5,7 @@ http_interactions:
|
|
5
5
|
uri: https://sandboxapi.deere.com/platform/assets/029c288a-14d9-459f-8ee6-b4e840e672a1/locations
|
6
6
|
body:
|
7
7
|
encoding: UTF-8
|
8
|
-
string: '[{"timestamp":"2020-01-
|
8
|
+
string: '[{"timestamp":"2020-01-21T10:49:00Z","geometry":"{\"type\":\"Feature\",\"geometry\":{\"geometries\":[{\"coordinates\":[-103.115633,41.670166],\"type\":\"Point\"}],\"type\":\"GeometryCollection\"}}","measurementData":[{"name":"Temperature","value":"68.0","unit":"F"}]}]'
|
9
9
|
headers:
|
10
10
|
Accept:
|
11
11
|
- application/vnd.deere.axiom.v3+json
|
@@ -16,11 +16,11 @@ http_interactions:
|
|
16
16
|
User-Agent:
|
17
17
|
- OAuth gem v0.5.4
|
18
18
|
Content-Length:
|
19
|
-
- '
|
19
|
+
- '268'
|
20
20
|
Authorization:
|
21
|
-
- OAuth oauth_body_hash="
|
22
|
-
oauth_nonce="
|
23
|
-
oauth_signature_method="HMAC-SHA1", oauth_timestamp="
|
21
|
+
- OAuth oauth_body_hash="%2F3ff%2FY3gkVUR0uOgxhtjw57sXaA%3D", oauth_consumer_key="johndeere-wgmADngYCRmfpEbVgSyc709wnyRux5J7PAv8SE7B",
|
22
|
+
oauth_nonce="XeaNgLOptfMT2ttfRMkliaPaC6SeCHlRRp3er4Lw1DQ", oauth_signature="vUuvFvIDJVkKYhI1EUUFyYYQtV4%3D",
|
23
|
+
oauth_signature_method="HMAC-SHA1", oauth_timestamp="1579625367", oauth_token="47bbb9c9-41a8-4bec-8127-e3c5760af2f6",
|
24
24
|
oauth_version="1.0"
|
25
25
|
response:
|
26
26
|
status:
|
@@ -28,27 +28,27 @@ http_interactions:
|
|
28
28
|
message: Created
|
29
29
|
headers:
|
30
30
|
Date:
|
31
|
-
-
|
31
|
+
- Tue, 21 Jan 2020 16:49:29 GMT
|
32
32
|
Content-Type:
|
33
33
|
- application/vnd.deere.axiom.v3+json
|
34
34
|
X-Deere-Handling-Server:
|
35
|
-
- ip-10-214-
|
35
|
+
- ip-10-214-44-246
|
36
36
|
X-Frame-Options:
|
37
37
|
- SAMEORIGIN
|
38
38
|
Location:
|
39
39
|
- https://sandboxapi.deere.com/platform/assets/029c288a-14d9-459f-8ee6-b4e840e672a1/locations
|
40
40
|
X-Deere-Elapsed-Ms:
|
41
|
-
- '
|
41
|
+
- '65'
|
42
42
|
Transfer-Encoding:
|
43
43
|
- chunked
|
44
44
|
body:
|
45
45
|
encoding: ASCII-8BIT
|
46
46
|
string: ''
|
47
47
|
http_version:
|
48
|
-
recorded_at:
|
48
|
+
recorded_at: Tue, 21 Jan 2020 16:49:29 GMT
|
49
49
|
- request:
|
50
50
|
method: get
|
51
|
-
uri: https://sandboxapi.deere.com/platform/assets/029c288a-14d9-459f-8ee6-b4e840e672a1/locations?
|
51
|
+
uri: https://sandboxapi.deere.com/platform/assets/029c288a-14d9-459f-8ee6-b4e840e672a1/locations?count=1
|
52
52
|
body:
|
53
53
|
encoding: US-ASCII
|
54
54
|
string: ''
|
@@ -63,8 +63,8 @@ http_interactions:
|
|
63
63
|
- OAuth gem v0.5.4
|
64
64
|
Authorization:
|
65
65
|
- OAuth oauth_consumer_key="johndeere-wgmADngYCRmfpEbVgSyc709wnyRux5J7PAv8SE7B",
|
66
|
-
oauth_nonce="
|
67
|
-
oauth_signature_method="HMAC-SHA1", oauth_timestamp="
|
66
|
+
oauth_nonce="VHHC3rHWsn8ncdKOXp6TQMbfxl0WX4MDSSuKfl5Cw", oauth_signature="k5KAgVcvV%2FhjnpSHPTB1l4HdApc%3D",
|
67
|
+
oauth_signature_method="HMAC-SHA1", oauth_timestamp="1579625475", oauth_token="47bbb9c9-41a8-4bec-8127-e3c5760af2f6",
|
68
68
|
oauth_version="1.0"
|
69
69
|
response:
|
70
70
|
status:
|
@@ -72,15 +72,15 @@ http_interactions:
|
|
72
72
|
message: OK
|
73
73
|
headers:
|
74
74
|
Date:
|
75
|
-
-
|
75
|
+
- Tue, 21 Jan 2020 16:51:15 GMT
|
76
76
|
Content-Type:
|
77
77
|
- application/vnd.deere.axiom.v3+json;charset=UTF-8
|
78
78
|
X-Deere-Handling-Server:
|
79
|
-
- ip-10-214-45-
|
79
|
+
- ip-10-214-45-199
|
80
80
|
X-Frame-Options:
|
81
81
|
- SAMEORIGIN
|
82
82
|
X-Deere-Elapsed-Ms:
|
83
|
-
- '
|
83
|
+
- '54'
|
84
84
|
Cache-Control:
|
85
85
|
- no-store
|
86
86
|
Content-Language:
|
@@ -89,7 +89,7 @@ http_interactions:
|
|
89
89
|
- chunked
|
90
90
|
body:
|
91
91
|
encoding: ASCII-8BIT
|
92
|
-
string: '{"links":[{"rel":"self","uri":"https://sandboxapi.deere.com/platform/assets/029c288a-14d9-459f-8ee6-b4e840e672a1/locations?
|
92
|
+
string: '{"links":[{"rel":"self","uri":"https://sandboxapi.deere.com/platform/assets/029c288a-14d9-459f-8ee6-b4e840e672a1/locations?count=1"},{"rel":"nextPage","uri":"https://sandboxapi.deere.com/platform/assets/029c288a-14d9-459f-8ee6-b4e840e672a1/locations?count=1&pageKey=029c288a-14d9-459f-8ee6-b4e840e672a1,2020-01-21T10:49:00Z"}],"total":1,"values":[{"@type":"ContributedAssetLocation","timestamp":"2020-01-21T10:49:00.000Z","geometry":"{\"type\":\"Feature\",\"geometry\":{\"geometries\":[{\"coordinates\":[-103.115633,41.670166],\"type\":\"Point\"}],\"type\":\"GeometryCollection\"}}","measurementData":[{"@type":"BasicMeasurement","name":"Temperature","value":"68.0","unit":"F"}],"links":[]}]}'
|
93
93
|
http_version:
|
94
|
-
recorded_at:
|
94
|
+
recorded_at: Tue, 21 Jan 2020 16:51:16 GMT
|
95
95
|
recorded_with: VCR 5.0.0
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: my_john_deere_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jaime. Bellmyer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: vcr
|
@@ -167,6 +167,7 @@ files:
|
|
167
167
|
- test/support/vcr/get_flags.yml
|
168
168
|
- test/support/vcr/get_organizations.yml
|
169
169
|
- test/support/vcr/get_request_token.yml
|
170
|
+
- test/support/vcr/post_asset_locations-bak.yml
|
170
171
|
- test/support/vcr/post_asset_locations.yml
|
171
172
|
- test/support/vcr/post_assets.yml
|
172
173
|
- test/support/vcr/post_flag_categories.yml
|