desk_api 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +24 -1
  3. data/lib/desk_api/action/embeddable.rb +47 -0
  4. data/lib/desk_api/action/update.rb +5 -0
  5. data/lib/desk_api/error/not_embeddable.rb +8 -0
  6. data/lib/desk_api/error/not_updateable.rb +10 -0
  7. data/lib/desk_api/error/unprocessable_entity.rb +1 -0
  8. data/lib/desk_api/error.rb +7 -9
  9. data/lib/desk_api/resource/case.rb +2 -0
  10. data/lib/desk_api/resource/filter.rb +7 -0
  11. data/lib/desk_api/resource/inbound_mailbox.rb +7 -0
  12. data/lib/desk_api/resource/job.rb +2 -0
  13. data/lib/desk_api/resource/page.rb +10 -27
  14. data/lib/desk_api/resource/reply.rb +2 -0
  15. data/lib/desk_api/resource.rb +28 -3
  16. data/lib/desk_api/version.rb +1 -1
  17. data/spec/cassettes/DeskApi_Error/on_validation_error/allows_access_to_error_hash.yml +54 -0
  18. data/spec/cassettes/DeskApi_Resource_Case/once_closed/can_not_be_updated.yml +124 -0
  19. data/spec/cassettes/DeskApi_Resource_Page/{_by_id/loads_the_requested_resource.yml → _find/has_an_alias_by_id.yml} +6 -6
  20. data/spec/cassettes/DeskApi_Resource_Page/_find/loads_the_requested_resource.yml +54 -0
  21. data/spec/desk_api/error_spec.rb +11 -0
  22. data/spec/desk_api/request/retry_spec.rb +9 -3
  23. data/spec/desk_api/resource/case_spec.rb +28 -0
  24. data/spec/desk_api/{resources → resource}/page_spec.rb +9 -5
  25. data/spec/desk_api/resource_spec.rb +68 -0
  26. data/spec/spec_helper.rb +1 -0
  27. data/spec/stubs/case_embed_customer.json +115 -0
  28. data/spec/stubs/cases_embed_assigned_user.json +105 -0
  29. metadata +23 -7
  30. data/lib/desk_api/action/embedded.rb +0 -12
@@ -0,0 +1,105 @@
1
+ {
2
+ "total_entries": 329,
3
+ "_links": {
4
+ "self": {
5
+ "href": "/api/v2/cases?page=1&per_page=1",
6
+ "class": "page"
7
+ },
8
+ "first": {
9
+ "href": "/api/v2/cases?page=1&per_page=1",
10
+ "class": "page"
11
+ },
12
+ "last": {
13
+ "href": "/api/v2/cases?page=329&per_page=1",
14
+ "class": "page"
15
+ },
16
+ "previous": null,
17
+ "next": {
18
+ "href": "/api/v2/cases?page=2&per_page=1",
19
+ "class": "page"
20
+ }
21
+ },
22
+ "_embedded": {
23
+ "entries": [
24
+ {
25
+ "external_id": null,
26
+ "subject": "",
27
+ "priority": 9,
28
+ "locked_until": null,
29
+ "description": "",
30
+ "status": "open",
31
+ "type": "phone",
32
+ "labels": [],
33
+ "language": "en",
34
+ "active_at": "2013-09-07T19:38:58Z",
35
+ "created_at": "2013-05-09T17:02:16Z",
36
+ "updated_at": "2013-09-07T19:39:07Z",
37
+ "received_at": "2013-05-09T17:02:16Z",
38
+ "custom_fields": {
39
+ "my_new_custom_field": "",
40
+ "my_new_number_field": "0",
41
+ "my_new_date_field": "",
42
+ "my_new_boolean_field": "0",
43
+ "my_new_list_field": "Option 1"
44
+ },
45
+ "_links": {
46
+ "self": {
47
+ "href": "/api/v2/cases/3011",
48
+ "class": "case"
49
+ },
50
+ "message": {
51
+ "href": "/api/v2/cases/3011/message",
52
+ "class": "phone"
53
+ },
54
+ "customer": {
55
+ "href": "/api/v2/customers/37823480",
56
+ "class": "customer"
57
+ },
58
+ "assigned_user": {
59
+ "href": "/api/v2/users/16096734",
60
+ "class": "user"
61
+ },
62
+ "assigned_group": {
63
+ "href": "/api/v2/groups/171213",
64
+ "class": "group"
65
+ },
66
+ "locked_by": null,
67
+ "replies": {
68
+ "href": "/api/v2/cases/3011/replies",
69
+ "class": "reply"
70
+ },
71
+ "notes": {
72
+ "href": "/api/v2/cases/3011/notes",
73
+ "class": "note"
74
+ },
75
+ "attachments": {
76
+ "href": "/api/v2/cases/3011/attachments",
77
+ "class": "attachment"
78
+ }
79
+ },
80
+ "_embedded": {
81
+ "assigned_user": {
82
+ "name": "Thomas Stachl",
83
+ "public_name": "Thomas Stachl",
84
+ "email": "tstachl@salesforce.com",
85
+ "level": "siteadmin_billing",
86
+ "_links": {
87
+ "self": {
88
+ "href": "/api/v2/users/16096734",
89
+ "class": "user"
90
+ },
91
+ "preferences": {
92
+ "href": "/api/v2/users/16096734/preferences",
93
+ "class": "user_preference"
94
+ },
95
+ "searches": {
96
+ "href": "/api/v2/users/16096734/searches",
97
+ "class": "search"
98
+ }
99
+ }
100
+ }
101
+ }
102
+ }
103
+ ]
104
+ }
105
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: desk_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Stachl
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-03 00:00:00.000000000 Z
11
+ date: 2013-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -216,7 +216,7 @@ files:
216
216
  - lib/desk_api.rb
217
217
  - lib/desk_api/action/create.rb
218
218
  - lib/desk_api/action/delete.rb
219
- - lib/desk_api/action/embedded.rb
219
+ - lib/desk_api/action/embeddable.rb
220
220
  - lib/desk_api/action/field.rb
221
221
  - lib/desk_api/action/link.rb
222
222
  - lib/desk_api/action/resource.rb
@@ -237,7 +237,9 @@ files:
237
237
  - lib/desk_api/error/method_not_allowed.rb
238
238
  - lib/desk_api/error/method_not_supported.rb
239
239
  - lib/desk_api/error/not_acceptable.rb
240
+ - lib/desk_api/error/not_embeddable.rb
240
241
  - lib/desk_api/error/not_found.rb
242
+ - lib/desk_api/error/not_updateable.rb
241
243
  - lib/desk_api/error/parse_error.rb
242
244
  - lib/desk_api/error/parser_error.rb
243
245
  - lib/desk_api/error/server_error.rb
@@ -255,6 +257,8 @@ files:
255
257
  - lib/desk_api/resource/case.rb
256
258
  - lib/desk_api/resource/company.rb
257
259
  - lib/desk_api/resource/customer.rb
260
+ - lib/desk_api/resource/filter.rb
261
+ - lib/desk_api/resource/inbound_mailbox.rb
258
262
  - lib/desk_api/resource/integration_url.rb
259
263
  - lib/desk_api/resource/job.rb
260
264
  - lib/desk_api/resource/label.rb
@@ -283,6 +287,7 @@ files:
283
287
  - spec/cassettes/DeskApi_Client/using_OAuth/_post/creates_a_resource.yml
284
288
  - spec/cassettes/DeskApi_Error/_from_response/can_be_created_from_a_faraday_response.yml
285
289
  - spec/cassettes/DeskApi_Error/_from_response/uses_the_body_message_if_present.yml
290
+ - spec/cassettes/DeskApi_Error/on_validation_error/allows_access_to_error_hash.yml
286
291
  - spec/cassettes/DeskApi_Resource/_by_url/finds_resources_by_url.yml
287
292
  - spec/cassettes/DeskApi_Resource/_create/creates_a_new_topic.yml
288
293
  - spec/cassettes/DeskApi_Resource/_delete/deletes_a_resource.yml
@@ -295,7 +300,9 @@ files:
295
300
  - spec/cassettes/DeskApi_Resource/_update/can_update_without_a_hash.yml
296
301
  - spec/cassettes/DeskApi_Resource/_update/throws_an_error_updating_a_user.yml
297
302
  - spec/cassettes/DeskApi_Resource/_update/updates_a_topic.yml
298
- - spec/cassettes/DeskApi_Resource_Page/_by_id/loads_the_requested_resource.yml
303
+ - spec/cassettes/DeskApi_Resource_Case/once_closed/can_not_be_updated.yml
304
+ - spec/cassettes/DeskApi_Resource_Page/_find/has_an_alias_by_id.yml
305
+ - spec/cassettes/DeskApi_Resource_Page/_find/loads_the_requested_resource.yml
299
306
  - spec/cassettes/DeskApi_Resource_Page/_page/keeps_the_resource_as_loaded.yml
300
307
  - spec/cassettes/DeskApi_Resource_Page/_page/returns_the_current_page_and_loads_if_page_not_defined.yml
301
308
  - spec/cassettes/DeskApi_Resource_Page/_page/sets_the_resource_to_not_loaded.yml
@@ -305,10 +312,13 @@ files:
305
312
  - spec/desk_api/error_spec.rb
306
313
  - spec/desk_api/rate_limit_spec.rb
307
314
  - spec/desk_api/request/retry_spec.rb
315
+ - spec/desk_api/resource/case_spec.rb
316
+ - spec/desk_api/resource/page_spec.rb
308
317
  - spec/desk_api/resource_spec.rb
309
- - spec/desk_api/resources/page_spec.rb
310
318
  - spec/desk_api_spec.rb
311
319
  - spec/spec_helper.rb
320
+ - spec/stubs/case_embed_customer.json
321
+ - spec/stubs/cases_embed_assigned_user.json
312
322
  homepage: http://github.com/tstachl/desk
313
323
  licenses: []
314
324
  metadata: {}
@@ -351,6 +361,7 @@ test_files:
351
361
  - spec/cassettes/DeskApi_Client/using_OAuth/_post/creates_a_resource.yml
352
362
  - spec/cassettes/DeskApi_Error/_from_response/can_be_created_from_a_faraday_response.yml
353
363
  - spec/cassettes/DeskApi_Error/_from_response/uses_the_body_message_if_present.yml
364
+ - spec/cassettes/DeskApi_Error/on_validation_error/allows_access_to_error_hash.yml
354
365
  - spec/cassettes/DeskApi_Resource/_by_url/finds_resources_by_url.yml
355
366
  - spec/cassettes/DeskApi_Resource/_create/creates_a_new_topic.yml
356
367
  - spec/cassettes/DeskApi_Resource/_delete/deletes_a_resource.yml
@@ -363,7 +374,9 @@ test_files:
363
374
  - spec/cassettes/DeskApi_Resource/_update/can_update_without_a_hash.yml
364
375
  - spec/cassettes/DeskApi_Resource/_update/throws_an_error_updating_a_user.yml
365
376
  - spec/cassettes/DeskApi_Resource/_update/updates_a_topic.yml
366
- - spec/cassettes/DeskApi_Resource_Page/_by_id/loads_the_requested_resource.yml
377
+ - spec/cassettes/DeskApi_Resource_Case/once_closed/can_not_be_updated.yml
378
+ - spec/cassettes/DeskApi_Resource_Page/_find/has_an_alias_by_id.yml
379
+ - spec/cassettes/DeskApi_Resource_Page/_find/loads_the_requested_resource.yml
367
380
  - spec/cassettes/DeskApi_Resource_Page/_page/keeps_the_resource_as_loaded.yml
368
381
  - spec/cassettes/DeskApi_Resource_Page/_page/returns_the_current_page_and_loads_if_page_not_defined.yml
369
382
  - spec/cassettes/DeskApi_Resource_Page/_page/sets_the_resource_to_not_loaded.yml
@@ -373,8 +386,11 @@ test_files:
373
386
  - spec/desk_api/error_spec.rb
374
387
  - spec/desk_api/rate_limit_spec.rb
375
388
  - spec/desk_api/request/retry_spec.rb
389
+ - spec/desk_api/resource/case_spec.rb
390
+ - spec/desk_api/resource/page_spec.rb
376
391
  - spec/desk_api/resource_spec.rb
377
- - spec/desk_api/resources/page_spec.rb
378
392
  - spec/desk_api_spec.rb
379
393
  - spec/spec_helper.rb
394
+ - spec/stubs/case_embed_customer.json
395
+ - spec/stubs/cases_embed_assigned_user.json
380
396
  has_rdoc:
@@ -1,12 +0,0 @@
1
- module DeskApi
2
- module Action
3
- module Embedded
4
- private
5
- def setup_embedded(entries)
6
- @records = entries.map do |record|
7
- resource(record._links.self['class']).new(client, record, true)
8
- end
9
- end
10
- end
11
- end
12
- end