my_john_deere_api 0.8.1 → 0.8.2

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: 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