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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c526296200ecd51d61d4bb113a1f224791ce52d4cacd1456be97b6c847404d45
4
- data.tar.gz: 46e1aed00e81a3b14be252fdf206d8e33aa93ed7ccaff2766378fa3770f23e10
3
+ metadata.gz: 242077415772b4bb77b74351f3f98a50f5f4c593e12677ec500a2fb2dc13dced
4
+ data.tar.gz: bd92b88d075ccd0cf741011426c27ce594b6021ead50f98c05e4426f53f614cd
5
5
  SHA512:
6
- metadata.gz: 19f044e3ae20c63c28dcc4c30f28b79ba27159fd49b7bda254958707c6602e1c5418f8d7e328f520876ad5677958551c923eb3502044e61a3598363f868d8a84
7
- data.tar.gz: dce51ce51507f141c1248fb5fe0e22f0a61aaecaa8fad56faa1a65f29748a9bb14827917ad34dceba1c51489f1b4e40a0aa225f64dd1009910fe265b6ef4b96c
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 way to fetch a single location by id, because locations
88
- # don't have IDs. You have to fetch them in bulk via the asset, but
89
- # there could be thousands. We limit to just the record created with
90
- # our timestamp, which must be unique.
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
- # Timestamps are returned with seconds in decimals, even though these
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
  ##
@@ -1,3 +1,3 @@
1
1
  module MyJohnDeereApi
2
- VERSION='0.8.1'
2
+ VERSION='0.8.2'
3
3
  end
@@ -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', record: :new_episodes) { collection.all }
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-18T00:31:00Z' }
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: 'Point',
57
- coordinates: [-103.115633, 41.670166]
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', record: :new_episodes) { collection.map(&:timestamp) }
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', record: :new_episodes) { collection.all }
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', record: :new_episodes) { collection.map(&:title) }
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', record: :new_episodes) { collection.all }
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', record: :new_episodes) { collection.map{|item| item.name} }
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', record: :new_episodes) { collection.all }
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', record: :new_episodes) { collection.map{|item| item.geometry} }
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', record: :new_episodes) { collection.all }
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', record: :new_episodes) { collection.map{|item| item.name} }
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', record: :new_episodes) { collection.all }
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-18T00:31:00Z' }
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: 'Point',
20
- coordinates: [-103.115633, 41.670166]
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: geometry[: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
- expected_geometry = {
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-18T00:31:00Z","geometry":"{\"type\":\"Point\",\"coordinates\":[-103.115633,41.670166]}","measurementData":[{"name":"Temperature","value":"68.0","unit":"F"}]}]'
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
- - '181'
19
+ - '268'
20
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",
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
- - Sat, 18 Jan 2020 00:50:24 GMT
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-45-182
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
- - '59'
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: Sat, 18 Jan 2020 00:50:24 GMT
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?endDate=2020-01-18T00:31:01Z&startDate=2020-01-18T00:30:59Z
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="hStGJCzcb5OY7HwmEsQwNX253TTZ85FurItAwDuxvdQ", oauth_signature="LEKTEGOy%2FmqrsGuEqvASGBYk7gY%3D",
67
- oauth_signature_method="HMAC-SHA1", oauth_timestamp="1579308624", oauth_token="47bbb9c9-41a8-4bec-8127-e3c5760af2f6",
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
- - Sat, 18 Jan 2020 00:50:25 GMT
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-182
79
+ - ip-10-214-45-199
80
80
  X-Frame-Options:
81
81
  - SAMEORIGIN
82
82
  X-Deere-Elapsed-Ms:
83
- - '44'
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?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\":\"Point\",\"coordinates\":[-103.115633,41.670166]}","measurementData":[{"@type":"BasicMeasurement","name":"Temperature","value":"68.0","unit":"F"}],"links":[]}]}'
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: Sat, 18 Jan 2020 00:50:25 GMT
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.1
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-20 00:00:00.000000000 Z
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