my_john_deere_api 1.2.0 → 1.2.1

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: 1841ed9de4f3726461e96a055c41eafabd02f3dbbcb095517c010e07bd10c5fb
4
- data.tar.gz: a33dd588075ddf1b2e861ad7e732883a8eb3c06dbb79a9b3dd6de748411285f4
3
+ metadata.gz: 5c3847859a2d14a7a9f7b2a7a3bd24dcd1f8a75a46e025c856df025ae8cda773
4
+ data.tar.gz: ee6697cc5dbcfd946deacb535b6eafe417b6bb5c4bd705bcc797b1ad434975b6
5
5
  SHA512:
6
- metadata.gz: 0effad463f6fb6fdc658f4669209167be8f117e1a5ea0b798386fa80f3cc875678072b417564560ac7114a5d11550695bdeb0d243e1a416745031e2389cc43e2
7
- data.tar.gz: 65aaf8a469a137c8a59bdb66ebe18ada13e5bf557f64ec1b25306088e933b30bf7f359e441d59f6feb9d82d48c0a126eb59a1d96a2b95b70b66db85f3145259d
6
+ metadata.gz: f9c3426b893a24e62caff5bd56847b350e38020ddd910d481ec7ebf84b2be019dd573a1a0638819277e6327a11969818a666628bed64071c9296c46e3d6cd987
7
+ data.tar.gz: 11dd36324795e0c3942a02d58fe6efab452d4be514be7e01e8a83eb98bae16488b1967c67eafa3b55fb567166144f0db87e4396645ee1a17f84aefe3fca53204
data/README.md CHANGED
@@ -165,15 +165,103 @@ client
165
165
  ```
166
166
 
167
167
 
168
+ #### [Contribution Products](https://developer.deere.com/#!documentation&doc=.%2Fmyjohndeere%2Fproducts.htm)
169
+
170
+ Contribution Product collections act like a list. In addition to all the methods included via Ruby's
171
+ [Enumerable Module](https://ruby-doc.org/core-2.7.0/Enumerable.html), contribution product
172
+ collections support the following methods:
173
+
174
+ * all
175
+ * count
176
+ * first
177
+ * find(contribution\_product\_id)
178
+
179
+ An individual contribution product supports the following methods and associations:
180
+
181
+ * id
182
+ * market_place_name
183
+ * market_place_description
184
+ * default\_locale
185
+ * current\_status
186
+ * activation\_callback
187
+ * preview\_images
188
+ * supported\_regions
189
+ * supported\_operation\_centers
190
+ * links
191
+ * contribution\_definitions (collection of this contribution product's contribution definitions)
192
+
193
+ ```ruby
194
+ client.contribution_products
195
+ # => collection of contribution products under this client
196
+
197
+ client.contribution_products.count
198
+ # => 1
199
+
200
+ client.contribution_products.first
201
+ # => an individual contribution product
202
+
203
+ contribution_product = client.contribution_products.find(1234)
204
+ # => an individual contribution product, fetched by ID
205
+
206
+ contribution_product.market_place_name
207
+ # => 'Market Place Name'
208
+
209
+ contribution_product.contribution_definitions
210
+ # => collection of contribution definitions belonging to this contribution product
211
+ ```
212
+
213
+
214
+ #### [Contribution Definitions](https://developer.deere.com/#!documentation&doc=.%2Fmyjohndeere%2Fproducts.htm)
215
+
216
+ Handles a contribution product's contribution definitions. Contribution definition collections support the following methods:
217
+
218
+ * all
219
+ * count
220
+ * first
221
+ * find(contribution\_definition\_id)
222
+
223
+ An individual contribution definition supports the following methods and associations:
224
+
225
+ * id
226
+ * name
227
+ * links
228
+
229
+ ```ruby
230
+ contribution_product.contribution_definitions
231
+ # => collection of contribution definitions under this contribution product
232
+
233
+ client.contribution_definitions.count
234
+ # => 1
235
+
236
+ client.contribution_definitions.first
237
+ # => an individual contribution definition
238
+
239
+ contribution_definition = contribution_product.contribution_definitions.find(1234)
240
+ # => an individual contribution definition, fetched by ID
241
+
242
+ contribution_definition.name
243
+ # => 'Contribution Definition Name'
244
+ ```
245
+
246
+
168
247
  #### [Organizations](https://developer.deere.com/#!documentation&doc=myjohndeere%2Forganizations.htm)
169
248
 
170
- Organization collections act like a list. In addition to all the methods included via Ruby's
171
- [Enumerable Module](https://ruby-doc.org/core-2.7.0/Enumerable.html), organization collections support:
249
+ Handles an account's organizations. Organization collections support the following methods:
172
250
 
173
251
  * all
174
252
  * count
175
253
  * first
176
- * find
254
+ * find(organization\_id)
255
+
256
+ An individual organization supports the following methods and associations:
257
+
258
+ * id
259
+ * name
260
+ * type
261
+ * member?
262
+ * links
263
+ * assets (collection of this organization's assets)
264
+ * fields (collection of this organization's fields)
177
265
 
178
266
  The `count` method only requires loading the first page of results, so it's a relatively cheap call. On the other hand,
179
267
  `all` forces the entire collection to be loaded from John Deere's API, so use with caution. Organizations cannot be
@@ -187,10 +275,10 @@ client.organizations.count
187
275
  # => 15
188
276
 
189
277
  client.organizations.first
190
- # => a single organization object
278
+ # => an individual organization object
191
279
 
192
280
  organization = client.organizations.find(1234)
193
- # => a specific organization object, fetched by ID
281
+ # => an individual organization object, fetched by ID
194
282
 
195
283
  organization.name
196
284
  # => 'Smith Farms'
@@ -208,56 +296,43 @@ organization.links
208
296
  # 'wdtCapableMachines' => 'ttps://sandboxapi.deere.com/platform/organizations/1234/machines?capability=wdt'
209
297
  # }
210
298
 
211
- ```
212
-
213
- This is much nicer than working with the raw API response:
299
+ organization.assets
300
+ # => collection of assets belonging to this organization
214
301
 
215
- ```json
216
- {
217
- "links": [
218
- {
219
- "rel": "self",
220
- "uri": "https://sandboxapi.deere.com/platform/organizations/1234"
221
- },
222
- {
223
- "rel": "machines",
224
- "uri": "https://sandboxapi.deere.com/platform/organizations/1234/machines"
225
- },
226
- {
227
- "rel": "wdtCapableMachines",
228
- "uri": "https://sandboxapi.deere.com/platform/organizations/1234/machines?capability=wdt"
229
- }
230
- ],
231
- "id": "1234",
232
- "name": "Smith Farms",
233
- "type": "customer",
234
- "partnerships": [],
235
- "member": true
236
- }
302
+ organization.fields
303
+ # => collection of fields belonging to this organization
237
304
  ```
238
305
 
239
- But the real power comes from daisy-chaining associations together.
240
-
241
306
 
242
307
  #### [Assets](https://developer.deere.com/#!documentation&doc=.%2Fmyjohndeere%2Fassets.htm)
243
308
 
244
- Handles an organization's assets. Supported methods:
309
+ Handles an organization's assets. Asset collections support the following methods:
245
310
 
246
311
  * all
247
312
  * count
248
313
  * first
249
- * find
250
- * create
314
+ * find(asset\_id)
315
+ * create(attributes)
316
+
317
+ An individual asset supports the following methods and associations:
318
+
319
+ * id
320
+ * title
321
+ * category
322
+ * type
323
+ * sub\_type
324
+ * links
325
+ * location (collection of this asset's locations)
251
326
 
252
327
  ```ruby
253
328
  organization = client.organizations.first
254
329
  # => the first organization returned by the client
255
330
 
256
331
  organization.assets
257
- # => collection of assets
332
+ # => collection of assets belonging to this organization
258
333
 
259
334
  asset = organization.assets.find(123)
260
- # => asset object, fetched by ID
335
+ # => an individual asset object, fetched by ID
261
336
 
262
337
  asset.title
263
338
  # => 'AgThing Water Device'
@@ -1,3 +1,3 @@
1
1
  module MyJohnDeereApi
2
- VERSION='1.2.0'
2
+ VERSION='1.2.1'
3
3
  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: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jaime Bellmyer