desk_api 0.1.0 → 0.1.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.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +49 -34
  3. data/config.rb +1 -1
  4. data/desk_api.gemspec +3 -3
  5. data/lib/desk.rb +1 -35
  6. data/lib/desk_api.rb +35 -0
  7. data/lib/{desk → desk_api}/action/create.rb +1 -1
  8. data/lib/{desk → desk_api}/action/delete.rb +1 -1
  9. data/lib/{desk → desk_api}/action/embedded.rb +1 -1
  10. data/lib/{desk → desk_api}/action/field.rb +3 -3
  11. data/lib/{desk → desk_api}/action/link.rb +2 -2
  12. data/lib/desk_api/action/resource.rb +14 -0
  13. data/lib/{desk → desk_api}/action/search.rb +1 -1
  14. data/lib/{desk → desk_api}/action/update.rb +2 -2
  15. data/lib/{desk → desk_api}/client.rb +15 -15
  16. data/lib/{desk → desk_api}/configuration.rb +13 -13
  17. data/lib/{desk → desk_api}/default.rb +5 -5
  18. data/lib/{desk → desk_api}/error.rb +5 -5
  19. data/lib/{desk → desk_api}/error/bad_gateway.rb +3 -3
  20. data/lib/{desk → desk_api}/error/bad_request.rb +3 -3
  21. data/lib/{desk → desk_api}/error/client_error.rb +3 -3
  22. data/lib/{desk → desk_api}/error/configuration_error.rb +2 -2
  23. data/lib/{desk → desk_api}/error/conflict.rb +3 -3
  24. data/lib/{desk → desk_api}/error/forbidden.rb +3 -3
  25. data/lib/{desk → desk_api}/error/gateway_timeout.rb +3 -3
  26. data/lib/desk_api/error/internal_server_error.rb +10 -0
  27. data/lib/{desk → desk_api}/error/method_not_allowed.rb +3 -3
  28. data/lib/{desk → desk_api}/error/method_not_supported.rb +3 -3
  29. data/lib/{desk → desk_api}/error/not_acceptable.rb +3 -3
  30. data/lib/{desk → desk_api}/error/not_found.rb +3 -3
  31. data/lib/desk_api/error/parse_error.rb +9 -0
  32. data/lib/desk_api/error/parser_error.rb +9 -0
  33. data/lib/{desk → desk_api}/error/server_error.rb +3 -3
  34. data/lib/desk_api/error/service_unavailable.rb +10 -0
  35. data/lib/{desk → desk_api}/error/too_many_requests.rb +3 -3
  36. data/lib/{desk → desk_api}/error/unauthorized.rb +3 -3
  37. data/lib/{desk → desk_api}/error/unprocessable_entity.rb +3 -3
  38. data/lib/{desk → desk_api}/error/unsupported_media_type.rb +3 -3
  39. data/lib/{desk → desk_api}/rate_limit.rb +1 -1
  40. data/lib/{desk → desk_api}/request/retry.rb +2 -2
  41. data/lib/{desk → desk_api}/resource.rb +16 -16
  42. data/lib/desk_api/resource/article.rb +10 -0
  43. data/lib/desk_api/resource/article_translation.rb +8 -0
  44. data/lib/desk_api/resource/attachment.rb +8 -0
  45. data/lib/desk_api/resource/case.rb +9 -0
  46. data/lib/desk_api/resource/company.rb +8 -0
  47. data/lib/desk_api/resource/customer.rb +9 -0
  48. data/lib/desk_api/resource/integration_url.rb +9 -0
  49. data/lib/desk_api/resource/job.rb +7 -0
  50. data/lib/desk_api/resource/label.rb +9 -0
  51. data/lib/desk_api/resource/macro.rb +9 -0
  52. data/lib/desk_api/resource/macro_action.rb +7 -0
  53. data/lib/desk_api/resource/note.rb +7 -0
  54. data/lib/{desk → desk_api}/resource/page.rb +5 -5
  55. data/lib/desk_api/resource/reply.rb +8 -0
  56. data/lib/desk_api/resource/topic.rb +9 -0
  57. data/lib/desk_api/resource/topic_translation.rb +9 -0
  58. data/lib/desk_api/resource/user_preference.rb +7 -0
  59. data/lib/{desk → desk_api}/resources.json +0 -0
  60. data/lib/desk_api/response/raise_error.rb +34 -0
  61. data/lib/desk_api/version.rb +3 -0
  62. data/spec/cassettes/{Desk_Client → DeskApi_Client}/_delete/deletes_a_resource.yml +5 -5
  63. data/spec/cassettes/{Desk_Client → DeskApi_Client}/_get/fetches_resources.yml +5 -5
  64. data/spec/cassettes/{Desk_Client → DeskApi_Client}/_patch/updates_a_resource.yml +6 -6
  65. data/spec/cassettes/{Desk_Client → DeskApi_Client}/_post/creates_a_resource.yml +8 -8
  66. data/spec/cassettes/{Desk_Error → DeskApi_Error}/_from_response/can_be_created_from_a_faraday_response.yml +5 -5
  67. data/spec/cassettes/{Desk_Error → DeskApi_Error}/_from_response/uses_the_body_message_if_present.yml +5 -5
  68. data/spec/cassettes/{Desk_Resource → DeskApi_Resource}/_by_url/finds_resources_by_url.yml +7 -7
  69. data/spec/cassettes/{Desk_Resource → DeskApi_Resource}/_create/creates_a_new_topic.yml +8 -8
  70. data/spec/cassettes/{Desk_Resource → DeskApi_Resource}/_delete/deletes_a_resource.yml +25 -26
  71. data/spec/cassettes/{Desk_Resource → DeskApi_Resource}/_delete/throws_an_error_deleting_a_non_deletalbe_resource.yml +6 -6
  72. data/spec/cassettes/{Desk_Resource_Page/_page/returns_the_current_page_and_loads_if_page_not_defined.yml → DeskApi_Resource/_exec_/can_be_forced_to_reload.yml} +6 -6
  73. data/spec/cassettes/{Desk_Resource → DeskApi_Resource}/_exec_/loads_the_current_resource.yml +7 -7
  74. data/spec/cassettes/{Desk_Resource/_exec_/can_be_forced_to_reload.yml → DeskApi_Resource/_method_missing/loads_the_resource_to_find_a_suitable_method.yml} +6 -6
  75. data/spec/cassettes/{Desk_Resource/_method_missing/loads_the_resource_to_find_a_suitable_method.yml → DeskApi_Resource/_method_missing/raises_an_error_if_method_does_not_exist.yml} +7 -7
  76. data/spec/cassettes/{Desk_Resource → DeskApi_Resource}/_search/allows_searching_on_search_enabled_resources.yml +5 -5
  77. data/spec/cassettes/DeskApi_Resource/_update/can_update_without_a_hash.yml +116 -0
  78. data/spec/cassettes/{Desk_Resource → DeskApi_Resource}/_update/throws_an_error_updating_a_user.yml +5 -5
  79. data/spec/cassettes/{Desk_Resource → DeskApi_Resource}/_update/updates_a_topic.yml +18 -20
  80. data/spec/cassettes/{Desk_Resource_Page → DeskApi_Resource_Page}/_by_id/loads_the_requested_resource.yml +5 -5
  81. data/spec/cassettes/{Desk_Resource_Page → DeskApi_Resource_Page}/_page/keeps_the_resource_as_loaded.yml +5 -5
  82. data/spec/cassettes/{Desk_Resource/_method_missing/raises_an_error_if_method_does_not_exist.yml → DeskApi_Resource_Page/_page/returns_the_current_page_and_loads_if_page_not_defined.yml} +6 -6
  83. data/spec/cassettes/{Desk_Resource_Page → DeskApi_Resource_Page}/_page/sets_the_resource_to_not_loaded.yml +5 -5
  84. data/spec/{desk → desk_api}/client_spec.rb +14 -14
  85. data/spec/{desk → desk_api}/configuration_spec.rb +23 -23
  86. data/spec/{desk → desk_api}/default_spec.rb +5 -5
  87. data/spec/{desk → desk_api}/error_spec.rb +4 -4
  88. data/spec/{desk → desk_api}/rate_limit_spec.rb +7 -7
  89. data/spec/{desk → desk_api}/request/retry_spec.rb +3 -3
  90. data/spec/{desk → desk_api}/resource_spec.rb +17 -10
  91. data/spec/{desk → desk_api}/resources/page_spec.rb +5 -5
  92. data/spec/{desk_spec.rb → desk_api_spec.rb} +10 -10
  93. data/spec/spec_helper.rb +1 -1
  94. metadata +121 -118
  95. data/lib/desk/action/resource.rb +0 -14
  96. data/lib/desk/error/internal_server_error.rb +0 -10
  97. data/lib/desk/error/parse_error.rb +0 -9
  98. data/lib/desk/error/parser_error.rb +0 -9
  99. data/lib/desk/error/service_unavailable.rb +0 -10
  100. data/lib/desk/resource/article.rb +0 -10
  101. data/lib/desk/resource/article_translation.rb +0 -8
  102. data/lib/desk/resource/attachment.rb +0 -8
  103. data/lib/desk/resource/case.rb +0 -9
  104. data/lib/desk/resource/company.rb +0 -8
  105. data/lib/desk/resource/customer.rb +0 -9
  106. data/lib/desk/resource/integration_url.rb +0 -9
  107. data/lib/desk/resource/job.rb +0 -7
  108. data/lib/desk/resource/label.rb +0 -9
  109. data/lib/desk/resource/macro.rb +0 -9
  110. data/lib/desk/resource/macro_action.rb +0 -7
  111. data/lib/desk/resource/note.rb +0 -7
  112. data/lib/desk/resource/reply.rb +0 -8
  113. data/lib/desk/resource/topic.rb +0 -9
  114. data/lib/desk/resource/topic_translation.rb +0 -9
  115. data/lib/desk/resource/user_preference.rb +0 -7
  116. data/lib/desk/response/raise_error.rb +0 -34
  117. data/lib/desk/version.rb +0 -3
@@ -1,9 +1,9 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Desk::Default do
3
+ describe DeskApi::Default do
4
4
  context '#options' do
5
5
  it 'returns a hash with mostly nil values' do
6
- Desk::Default.options.should eq({
6
+ DeskApi::Default.options.should eq({
7
7
  consumer_key: nil,
8
8
  consumer_secret: nil,
9
9
  token: nil,
@@ -15,7 +15,7 @@ describe Desk::Default do
15
15
  connection_options: {
16
16
  headers: {
17
17
  accept: 'application/json',
18
- user_agent: "desk.com Ruby Gem v#{Desk::VERSION}"
18
+ user_agent: "desk.com Ruby Gem v#{DeskApi::VERSION}"
19
19
  },
20
20
  request: {
21
21
  open_timeout: 5,
@@ -35,7 +35,7 @@ describe Desk::Default do
35
35
  ENV['DESK_SUBDOMAIN'] = 'SD'
36
36
  ENV['DESK_ENDPOINT'] = 'EP'
37
37
 
38
- Desk::Default.options.should eq({
38
+ DeskApi::Default.options.should eq({
39
39
  consumer_key: 'CK',
40
40
  consumer_secret: 'CS',
41
41
  token: 'TOK',
@@ -47,7 +47,7 @@ describe Desk::Default do
47
47
  connection_options: {
48
48
  headers: {
49
49
  accept: 'application/json',
50
- user_agent: "desk.com Ruby Gem v#{Desk::VERSION}"
50
+ user_agent: "desk.com Ruby Gem v#{DeskApi::VERSION}"
51
51
  },
52
52
  request: {
53
53
  open_timeout: 5,
@@ -1,21 +1,21 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Desk::Error do
3
+ describe DeskApi::Error do
4
4
  subject do
5
- @client ||= Desk::Client.new Desk::CONFIG
5
+ @client ||= DeskApi::Client.new DeskApi::CONFIG
6
6
  end
7
7
 
8
8
  context '.from_response' do
9
9
  it 'can be created from a faraday response', :vcr do
10
10
  lambda {
11
11
  subject.articles.create({ subject: 'Testing', body: 'Testing' })
12
- }.should raise_error(Desk::Error::UnprocessableEntity)
12
+ }.should raise_error(DeskApi::Error::UnprocessableEntity)
13
13
  end
14
14
 
15
15
  it 'uses the body message if present', :vcr do
16
16
  begin
17
17
  subject.articles.create({ subject: 'Testing', body: 'Testing' })
18
- rescue Desk::Error::UnprocessableEntity => e
18
+ rescue DeskApi::Error::UnprocessableEntity => e
19
19
  e.message.should eq('Validation Failed')
20
20
  end
21
21
  end
@@ -1,41 +1,41 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Desk::RateLimit do
3
+ describe DeskApi::RateLimit do
4
4
  context "#limit" do
5
5
  it "returns an Integer when x-rate-limit-limit header is set" do
6
- rate_limit = Desk::RateLimit.new("x-rate-limit-limit" => "150")
6
+ rate_limit = DeskApi::RateLimit.new("x-rate-limit-limit" => "150")
7
7
  expect(rate_limit.limit).to be_an Integer
8
8
  expect(rate_limit.limit).to eq 150
9
9
  end
10
10
 
11
11
  it "returns nil when x-rate-limit-limit header is not set" do
12
- rate_limit = Desk::RateLimit.new
12
+ rate_limit = DeskApi::RateLimit.new
13
13
  expect(rate_limit.limit).to be_nil
14
14
  end
15
15
  end
16
16
 
17
17
  context "#remaining" do
18
18
  it "returns an Integer when x-rate-limit-remaining header is set" do
19
- rate_limit = Desk::RateLimit.new("x-rate-limit-remaining" => "149")
19
+ rate_limit = DeskApi::RateLimit.new("x-rate-limit-remaining" => "149")
20
20
  expect(rate_limit.remaining).to be_an Integer
21
21
  expect(rate_limit.remaining).to eq 149
22
22
  end
23
23
 
24
24
  it "returns nil when x-rate-limit-remaining header is not set" do
25
- rate_limit = Desk::RateLimit.new
25
+ rate_limit = DeskApi::RateLimit.new
26
26
  expect(rate_limit.remaining).to be_nil
27
27
  end
28
28
  end
29
29
 
30
30
  context "#reset_in" do
31
31
  it "returns an Integer when x-rate-limit-reset header is set" do
32
- rate_limit = Desk::RateLimit.new("x-rate-limit-reset" => "36")
32
+ rate_limit = DeskApi::RateLimit.new("x-rate-limit-reset" => "36")
33
33
  expect(rate_limit.reset_in).to be_an Integer
34
34
  expect(rate_limit.reset_in).to eq 36
35
35
  end
36
36
 
37
37
  it "returns nil when x-rate-limit-reset header is not set" do
38
- rate_limit = Desk::RateLimit.new
38
+ rate_limit = DeskApi::RateLimit.new
39
39
  expect(rate_limit.reset_in).to be_nil
40
40
  end
41
41
  end
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
- require 'desk/request/retry'
2
+ require 'desk_api/request/retry'
3
3
 
4
- describe Desk::Request::Retry do
4
+ describe DeskApi::Request::Retry do
5
5
  before do
6
6
  @stubs = Faraday::Adapter::Test::Stubs.new
7
7
  @conn = Faraday.new do |builder|
@@ -27,7 +27,7 @@ describe Desk::Request::Retry do
27
27
 
28
28
  @stubs.post('/echo') do
29
29
  times_called += 1
30
- raise Desk::Error::TooManyRequests.from_response({
30
+ raise DeskApi::Error::TooManyRequests.from_response({
31
31
  body: '{"message":"Too Many Requests"}',
32
32
  status: 429,
33
33
  response_headers: {
@@ -1,8 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Desk::Resource do
3
+ describe DeskApi::Resource do
4
4
  subject do
5
- @client ||= Desk::Client.new Desk::CONFIG
5
+ @client ||= DeskApi::Client.new DeskApi::CONFIG
6
6
  end
7
7
 
8
8
  context '#initialize' do
@@ -39,23 +39,23 @@ describe Desk::Resource do
39
39
  end
40
40
 
41
41
  it 'raises an error if method does not exist' do
42
- lambda { subject.articles.some_other_method }.should raise_error(Desk::Error::MethodNotSupported)
42
+ lambda { subject.articles.some_other_method }.should raise_error(DeskApi::Error::MethodNotSupported)
43
43
  end
44
44
  end
45
45
 
46
46
  context '#by_url', :vcr do
47
47
  it 'finds resources by url' do
48
- subject.articles.by_url('/api/v2/articles/1213277').should be_an_instance_of(Desk::Resource::Article)
48
+ subject.articles.by_url('/api/v2/articles/1213277').should be_an_instance_of(DeskApi::Resource::Article)
49
49
  end
50
50
  end
51
51
 
52
52
  context '#resource', :vcr do
53
53
  it 'requires the specified resource' do
54
- subject.send(:resource, 'article').should equal(Desk::Resource::Article)
54
+ subject.send(:resource, 'article').should equal(DeskApi::Resource::Article)
55
55
  end
56
56
 
57
57
  it 'returns the generic resource on error' do
58
- subject.send(:resource, 'something_crazy').should equal(Desk::Resource)
58
+ subject.send(:resource, 'something_crazy').should equal(DeskApi::Resource)
59
59
  end
60
60
  end
61
61
 
@@ -65,7 +65,7 @@ describe Desk::Resource do
65
65
  end
66
66
 
67
67
  it 'throws an error if search is not enabled' do
68
- lambda { subject.users.search(test: 'something') }.should raise_error(Desk::Error::MethodNotSupported)
68
+ lambda { subject.users.search(test: 'something') }.should raise_error(DeskApi::Error::MethodNotSupported)
69
69
  end
70
70
  end
71
71
 
@@ -77,7 +77,7 @@ describe Desk::Resource do
77
77
  end
78
78
 
79
79
  it 'throws an error creating a user' do
80
- lambda { subject.users.create(name: 'Some User') }.should raise_error(Desk::Error::MethodNotSupported)
80
+ lambda { subject.users.create(name: 'Some User') }.should raise_error(DeskApi::Error::MethodNotSupported)
81
81
  end
82
82
  end
83
83
 
@@ -96,7 +96,14 @@ describe Desk::Resource do
96
96
 
97
97
  it 'throws an error updating a user', :vcr do
98
98
  user = subject.users.first
99
- lambda { user.update(name: 'Some User') }.should raise_error(Desk::Error::MethodNotSupported)
99
+ lambda { user.update(name: 'Some User') }.should raise_error(DeskApi::Error::MethodNotSupported)
100
+ end
101
+
102
+ it 'can update without a hash', :vcr do
103
+ topic = subject.topics.first
104
+ topic.description = 'Another description update.'
105
+ topic.update
106
+ subject.topics.first.description.should eq('Another description update.')
100
107
  end
101
108
  end
102
109
 
@@ -113,7 +120,7 @@ describe Desk::Resource do
113
120
 
114
121
  it 'throws an error deleting a non deletalbe resource', :vcr do
115
122
  user = subject.users.first
116
- lambda { user.delete }.should raise_error(Desk::Error::MethodNotSupported)
123
+ lambda { user.delete }.should raise_error(DeskApi::Error::MethodNotSupported)
117
124
  end
118
125
  end
119
126
  end
@@ -1,14 +1,14 @@
1
1
  require 'spec_helper'
2
- require 'desk/resource/page'
2
+ require 'desk_api/resource/page'
3
3
 
4
- describe Desk::Resource::Page do
4
+ describe DeskApi::Resource::Page do
5
5
  subject do
6
- @client ||= Desk::Client.new Desk::CONFIG
6
+ @client ||= DeskApi::Client.new DeskApi::CONFIG
7
7
  end
8
8
 
9
9
  context '#query_params' do
10
10
  before do
11
- @page = Desk::Resource::Page.new(subject, Hashie::Mash.new({
11
+ @page = DeskApi::Resource::Page.new(subject, Hashie::Mash.new({
12
12
  _links: { self: { href: '/api/v2/cases?page=2&per_page=50' } }
13
13
  }), true)
14
14
  end
@@ -25,7 +25,7 @@ describe Desk::Resource::Page do
25
25
 
26
26
  context '#query_params=' do
27
27
  before do
28
- @page = Desk::Resource::Page.new(subject, Hashie::Mash.new({
28
+ @page = DeskApi::Resource::Page.new(subject, Hashie::Mash.new({
29
29
  _links: { self: { href: '/api/v2/cases' } }
30
30
  }), true)
31
31
  end
@@ -1,41 +1,41 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Desk do
3
+ describe DeskApi do
4
4
  describe '.method_missing' do
5
- it 'delegates to Desk::Client' do
6
- Desk.method_missing(:endpoint).should be_a(String)
5
+ it 'delegates to DeskApi::Client' do
6
+ DeskApi.method_missing(:endpoint).should be_a(String)
7
7
  end
8
8
  end
9
9
 
10
10
  describe '.respond_to_missing?' do
11
- it 'delegates to Desk::Client' do
12
- Desk.respond_to_missing?(:endpoint).should be_true
11
+ it 'delegates to DeskApi::Client' do
12
+ DeskApi.respond_to_missing?(:endpoint).should be_true
13
13
  end
14
14
 
15
15
  it 'takes an optional argument' do
16
- Desk.respond_to_missing?(:endpoint, true).should be_true
16
+ DeskApi.respond_to_missing?(:endpoint, true).should be_true
17
17
  end
18
18
  end
19
19
 
20
20
  describe '.client' do
21
21
  it 'should return a client' do
22
- Desk.client.should be_an_instance_of(Desk::Client)
22
+ DeskApi.client.should be_an_instance_of(DeskApi::Client)
23
23
  end
24
24
 
25
25
  context 'when the options do not change' do
26
26
  it 'caches the client' do
27
- Desk.client.should equal(Desk.client)
27
+ DeskApi.client.should equal(DeskApi.client)
28
28
  end
29
29
  end
30
30
 
31
31
  context 'when the options change' do
32
32
  it 'busts the cache' do
33
- client1 = Desk.client
33
+ client1 = DeskApi.client
34
34
  client1.configure do |config|
35
35
  config.username = 'test@example.com'
36
36
  config.password = 'password'
37
37
  end
38
- client2 = Desk.client
38
+ client2 = DeskApi.client
39
39
  client1.should_not equal(client2)
40
40
  end
41
41
  end
data/spec/spec_helper.rb CHANGED
@@ -17,7 +17,7 @@ require 'desk'
17
17
  begin
18
18
  require_relative '../config'
19
19
  rescue LoadError
20
- module Desk
20
+ module DeskApi
21
21
  CONFIG = {
22
22
  username: 'devel@example.com',
23
23
  password: '1234password',
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.0
4
+ version: 0.1.1
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-08-16 00:00:00.000000000 Z
11
+ date: 2013-08-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -199,93 +199,95 @@ files:
199
199
  - config.rb
200
200
  - desk_api.gemspec
201
201
  - lib/desk.rb
202
- - lib/desk/action/create.rb
203
- - lib/desk/action/delete.rb
204
- - lib/desk/action/embedded.rb
205
- - lib/desk/action/field.rb
206
- - lib/desk/action/link.rb
207
- - lib/desk/action/resource.rb
208
- - lib/desk/action/search.rb
209
- - lib/desk/action/update.rb
210
- - lib/desk/client.rb
211
- - lib/desk/configuration.rb
212
- - lib/desk/default.rb
213
- - lib/desk/error.rb
214
- - lib/desk/error/bad_gateway.rb
215
- - lib/desk/error/bad_request.rb
216
- - lib/desk/error/client_error.rb
217
- - lib/desk/error/configuration_error.rb
218
- - lib/desk/error/conflict.rb
219
- - lib/desk/error/forbidden.rb
220
- - lib/desk/error/gateway_timeout.rb
221
- - lib/desk/error/internal_server_error.rb
222
- - lib/desk/error/method_not_allowed.rb
223
- - lib/desk/error/method_not_supported.rb
224
- - lib/desk/error/not_acceptable.rb
225
- - lib/desk/error/not_found.rb
226
- - lib/desk/error/parse_error.rb
227
- - lib/desk/error/parser_error.rb
228
- - lib/desk/error/server_error.rb
229
- - lib/desk/error/service_unavailable.rb
230
- - lib/desk/error/too_many_requests.rb
231
- - lib/desk/error/unauthorized.rb
232
- - lib/desk/error/unprocessable_entity.rb
233
- - lib/desk/error/unsupported_media_type.rb
234
- - lib/desk/rate_limit.rb
235
- - lib/desk/request/retry.rb
236
- - lib/desk/resource.rb
237
- - lib/desk/resource/article.rb
238
- - lib/desk/resource/article_translation.rb
239
- - lib/desk/resource/attachment.rb
240
- - lib/desk/resource/case.rb
241
- - lib/desk/resource/company.rb
242
- - lib/desk/resource/customer.rb
243
- - lib/desk/resource/integration_url.rb
244
- - lib/desk/resource/job.rb
245
- - lib/desk/resource/label.rb
246
- - lib/desk/resource/macro.rb
247
- - lib/desk/resource/macro_action.rb
248
- - lib/desk/resource/note.rb
249
- - lib/desk/resource/page.rb
250
- - lib/desk/resource/reply.rb
251
- - lib/desk/resource/topic.rb
252
- - lib/desk/resource/topic_translation.rb
253
- - lib/desk/resource/user_preference.rb
254
- - lib/desk/resources.json
255
- - lib/desk/response/raise_error.rb
256
- - lib/desk/version.rb
257
- - spec/cassettes/Desk_Client/_delete/deletes_a_resource.yml
258
- - spec/cassettes/Desk_Client/_get/fetches_resources.yml
259
- - spec/cassettes/Desk_Client/_patch/updates_a_resource.yml
260
- - spec/cassettes/Desk_Client/_post/creates_a_resource.yml
261
- - spec/cassettes/Desk_Error/_from_response/can_be_created_from_a_faraday_response.yml
262
- - spec/cassettes/Desk_Error/_from_response/uses_the_body_message_if_present.yml
263
- - spec/cassettes/Desk_Resource/_by_url/finds_resources_by_url.yml
264
- - spec/cassettes/Desk_Resource/_create/creates_a_new_topic.yml
265
- - spec/cassettes/Desk_Resource/_delete/deletes_a_resource.yml
266
- - spec/cassettes/Desk_Resource/_delete/throws_an_error_deleting_a_non_deletalbe_resource.yml
267
- - spec/cassettes/Desk_Resource/_exec_/can_be_forced_to_reload.yml
268
- - spec/cassettes/Desk_Resource/_exec_/loads_the_current_resource.yml
269
- - spec/cassettes/Desk_Resource/_method_missing/loads_the_resource_to_find_a_suitable_method.yml
270
- - spec/cassettes/Desk_Resource/_method_missing/raises_an_error_if_method_does_not_exist.yml
271
- - spec/cassettes/Desk_Resource/_search/allows_searching_on_search_enabled_resources.yml
272
- - spec/cassettes/Desk_Resource/_update/throws_an_error_updating_a_user.yml
273
- - spec/cassettes/Desk_Resource/_update/updates_a_topic.yml
274
- - spec/cassettes/Desk_Resource_Page/_by_id/loads_the_requested_resource.yml
275
- - spec/cassettes/Desk_Resource_Page/_page/keeps_the_resource_as_loaded.yml
276
- - spec/cassettes/Desk_Resource_Page/_page/returns_the_current_page_and_loads_if_page_not_defined.yml
277
- - spec/cassettes/Desk_Resource_Page/_page/sets_the_resource_to_not_loaded.yml
278
- - spec/desk/client_spec.rb
279
- - spec/desk/configuration_spec.rb
280
- - spec/desk/default_spec.rb
281
- - spec/desk/error_spec.rb
282
- - spec/desk/rate_limit_spec.rb
283
- - spec/desk/request/retry_spec.rb
284
- - spec/desk/resource_spec.rb
285
- - spec/desk/resources/page_spec.rb
286
- - spec/desk_spec.rb
202
+ - lib/desk_api.rb
203
+ - lib/desk_api/action/create.rb
204
+ - lib/desk_api/action/delete.rb
205
+ - lib/desk_api/action/embedded.rb
206
+ - lib/desk_api/action/field.rb
207
+ - lib/desk_api/action/link.rb
208
+ - lib/desk_api/action/resource.rb
209
+ - lib/desk_api/action/search.rb
210
+ - lib/desk_api/action/update.rb
211
+ - lib/desk_api/client.rb
212
+ - lib/desk_api/configuration.rb
213
+ - lib/desk_api/default.rb
214
+ - lib/desk_api/error.rb
215
+ - lib/desk_api/error/bad_gateway.rb
216
+ - lib/desk_api/error/bad_request.rb
217
+ - lib/desk_api/error/client_error.rb
218
+ - lib/desk_api/error/configuration_error.rb
219
+ - lib/desk_api/error/conflict.rb
220
+ - lib/desk_api/error/forbidden.rb
221
+ - lib/desk_api/error/gateway_timeout.rb
222
+ - lib/desk_api/error/internal_server_error.rb
223
+ - lib/desk_api/error/method_not_allowed.rb
224
+ - lib/desk_api/error/method_not_supported.rb
225
+ - lib/desk_api/error/not_acceptable.rb
226
+ - lib/desk_api/error/not_found.rb
227
+ - lib/desk_api/error/parse_error.rb
228
+ - lib/desk_api/error/parser_error.rb
229
+ - lib/desk_api/error/server_error.rb
230
+ - lib/desk_api/error/service_unavailable.rb
231
+ - lib/desk_api/error/too_many_requests.rb
232
+ - lib/desk_api/error/unauthorized.rb
233
+ - lib/desk_api/error/unprocessable_entity.rb
234
+ - lib/desk_api/error/unsupported_media_type.rb
235
+ - lib/desk_api/rate_limit.rb
236
+ - lib/desk_api/request/retry.rb
237
+ - lib/desk_api/resource.rb
238
+ - lib/desk_api/resource/article.rb
239
+ - lib/desk_api/resource/article_translation.rb
240
+ - lib/desk_api/resource/attachment.rb
241
+ - lib/desk_api/resource/case.rb
242
+ - lib/desk_api/resource/company.rb
243
+ - lib/desk_api/resource/customer.rb
244
+ - lib/desk_api/resource/integration_url.rb
245
+ - lib/desk_api/resource/job.rb
246
+ - lib/desk_api/resource/label.rb
247
+ - lib/desk_api/resource/macro.rb
248
+ - lib/desk_api/resource/macro_action.rb
249
+ - lib/desk_api/resource/note.rb
250
+ - lib/desk_api/resource/page.rb
251
+ - lib/desk_api/resource/reply.rb
252
+ - lib/desk_api/resource/topic.rb
253
+ - lib/desk_api/resource/topic_translation.rb
254
+ - lib/desk_api/resource/user_preference.rb
255
+ - lib/desk_api/resources.json
256
+ - lib/desk_api/response/raise_error.rb
257
+ - lib/desk_api/version.rb
258
+ - spec/cassettes/DeskApi_Client/_delete/deletes_a_resource.yml
259
+ - spec/cassettes/DeskApi_Client/_get/fetches_resources.yml
260
+ - spec/cassettes/DeskApi_Client/_patch/updates_a_resource.yml
261
+ - spec/cassettes/DeskApi_Client/_post/creates_a_resource.yml
262
+ - spec/cassettes/DeskApi_Error/_from_response/can_be_created_from_a_faraday_response.yml
263
+ - spec/cassettes/DeskApi_Error/_from_response/uses_the_body_message_if_present.yml
264
+ - spec/cassettes/DeskApi_Resource/_by_url/finds_resources_by_url.yml
265
+ - spec/cassettes/DeskApi_Resource/_create/creates_a_new_topic.yml
266
+ - spec/cassettes/DeskApi_Resource/_delete/deletes_a_resource.yml
267
+ - spec/cassettes/DeskApi_Resource/_delete/throws_an_error_deleting_a_non_deletalbe_resource.yml
268
+ - spec/cassettes/DeskApi_Resource/_exec_/can_be_forced_to_reload.yml
269
+ - spec/cassettes/DeskApi_Resource/_exec_/loads_the_current_resource.yml
270
+ - spec/cassettes/DeskApi_Resource/_method_missing/loads_the_resource_to_find_a_suitable_method.yml
271
+ - spec/cassettes/DeskApi_Resource/_method_missing/raises_an_error_if_method_does_not_exist.yml
272
+ - spec/cassettes/DeskApi_Resource/_search/allows_searching_on_search_enabled_resources.yml
273
+ - spec/cassettes/DeskApi_Resource/_update/can_update_without_a_hash.yml
274
+ - spec/cassettes/DeskApi_Resource/_update/throws_an_error_updating_a_user.yml
275
+ - spec/cassettes/DeskApi_Resource/_update/updates_a_topic.yml
276
+ - spec/cassettes/DeskApi_Resource_Page/_by_id/loads_the_requested_resource.yml
277
+ - spec/cassettes/DeskApi_Resource_Page/_page/keeps_the_resource_as_loaded.yml
278
+ - spec/cassettes/DeskApi_Resource_Page/_page/returns_the_current_page_and_loads_if_page_not_defined.yml
279
+ - spec/cassettes/DeskApi_Resource_Page/_page/sets_the_resource_to_not_loaded.yml
280
+ - spec/desk_api/client_spec.rb
281
+ - spec/desk_api/configuration_spec.rb
282
+ - spec/desk_api/default_spec.rb
283
+ - spec/desk_api/error_spec.rb
284
+ - spec/desk_api/rate_limit_spec.rb
285
+ - spec/desk_api/request/retry_spec.rb
286
+ - spec/desk_api/resource_spec.rb
287
+ - spec/desk_api/resources/page_spec.rb
288
+ - spec/desk_api_spec.rb
287
289
  - spec/spec_helper.rb
288
- homepage: http://github.com/tstachl/desk.rb
290
+ homepage: http://github.com/tstachl/desk
289
291
  licenses: []
290
292
  metadata: {}
291
293
  post_install_message:
@@ -313,35 +315,36 @@ signing_key:
313
315
  specification_version: 4
314
316
  summary: A lightweight, flexible wrapper for the desk.com REST API.
315
317
  test_files:
316
- - spec/cassettes/Desk_Client/_delete/deletes_a_resource.yml
317
- - spec/cassettes/Desk_Client/_get/fetches_resources.yml
318
- - spec/cassettes/Desk_Client/_patch/updates_a_resource.yml
319
- - spec/cassettes/Desk_Client/_post/creates_a_resource.yml
320
- - spec/cassettes/Desk_Error/_from_response/can_be_created_from_a_faraday_response.yml
321
- - spec/cassettes/Desk_Error/_from_response/uses_the_body_message_if_present.yml
322
- - spec/cassettes/Desk_Resource/_by_url/finds_resources_by_url.yml
323
- - spec/cassettes/Desk_Resource/_create/creates_a_new_topic.yml
324
- - spec/cassettes/Desk_Resource/_delete/deletes_a_resource.yml
325
- - spec/cassettes/Desk_Resource/_delete/throws_an_error_deleting_a_non_deletalbe_resource.yml
326
- - spec/cassettes/Desk_Resource/_exec_/can_be_forced_to_reload.yml
327
- - spec/cassettes/Desk_Resource/_exec_/loads_the_current_resource.yml
328
- - spec/cassettes/Desk_Resource/_method_missing/loads_the_resource_to_find_a_suitable_method.yml
329
- - spec/cassettes/Desk_Resource/_method_missing/raises_an_error_if_method_does_not_exist.yml
330
- - spec/cassettes/Desk_Resource/_search/allows_searching_on_search_enabled_resources.yml
331
- - spec/cassettes/Desk_Resource/_update/throws_an_error_updating_a_user.yml
332
- - spec/cassettes/Desk_Resource/_update/updates_a_topic.yml
333
- - spec/cassettes/Desk_Resource_Page/_by_id/loads_the_requested_resource.yml
334
- - spec/cassettes/Desk_Resource_Page/_page/keeps_the_resource_as_loaded.yml
335
- - spec/cassettes/Desk_Resource_Page/_page/returns_the_current_page_and_loads_if_page_not_defined.yml
336
- - spec/cassettes/Desk_Resource_Page/_page/sets_the_resource_to_not_loaded.yml
337
- - spec/desk/client_spec.rb
338
- - spec/desk/configuration_spec.rb
339
- - spec/desk/default_spec.rb
340
- - spec/desk/error_spec.rb
341
- - spec/desk/rate_limit_spec.rb
342
- - spec/desk/request/retry_spec.rb
343
- - spec/desk/resource_spec.rb
344
- - spec/desk/resources/page_spec.rb
345
- - spec/desk_spec.rb
318
+ - spec/cassettes/DeskApi_Client/_delete/deletes_a_resource.yml
319
+ - spec/cassettes/DeskApi_Client/_get/fetches_resources.yml
320
+ - spec/cassettes/DeskApi_Client/_patch/updates_a_resource.yml
321
+ - spec/cassettes/DeskApi_Client/_post/creates_a_resource.yml
322
+ - spec/cassettes/DeskApi_Error/_from_response/can_be_created_from_a_faraday_response.yml
323
+ - spec/cassettes/DeskApi_Error/_from_response/uses_the_body_message_if_present.yml
324
+ - spec/cassettes/DeskApi_Resource/_by_url/finds_resources_by_url.yml
325
+ - spec/cassettes/DeskApi_Resource/_create/creates_a_new_topic.yml
326
+ - spec/cassettes/DeskApi_Resource/_delete/deletes_a_resource.yml
327
+ - spec/cassettes/DeskApi_Resource/_delete/throws_an_error_deleting_a_non_deletalbe_resource.yml
328
+ - spec/cassettes/DeskApi_Resource/_exec_/can_be_forced_to_reload.yml
329
+ - spec/cassettes/DeskApi_Resource/_exec_/loads_the_current_resource.yml
330
+ - spec/cassettes/DeskApi_Resource/_method_missing/loads_the_resource_to_find_a_suitable_method.yml
331
+ - spec/cassettes/DeskApi_Resource/_method_missing/raises_an_error_if_method_does_not_exist.yml
332
+ - spec/cassettes/DeskApi_Resource/_search/allows_searching_on_search_enabled_resources.yml
333
+ - spec/cassettes/DeskApi_Resource/_update/can_update_without_a_hash.yml
334
+ - spec/cassettes/DeskApi_Resource/_update/throws_an_error_updating_a_user.yml
335
+ - spec/cassettes/DeskApi_Resource/_update/updates_a_topic.yml
336
+ - spec/cassettes/DeskApi_Resource_Page/_by_id/loads_the_requested_resource.yml
337
+ - spec/cassettes/DeskApi_Resource_Page/_page/keeps_the_resource_as_loaded.yml
338
+ - spec/cassettes/DeskApi_Resource_Page/_page/returns_the_current_page_and_loads_if_page_not_defined.yml
339
+ - spec/cassettes/DeskApi_Resource_Page/_page/sets_the_resource_to_not_loaded.yml
340
+ - spec/desk_api/client_spec.rb
341
+ - spec/desk_api/configuration_spec.rb
342
+ - spec/desk_api/default_spec.rb
343
+ - spec/desk_api/error_spec.rb
344
+ - spec/desk_api/rate_limit_spec.rb
345
+ - spec/desk_api/request/retry_spec.rb
346
+ - spec/desk_api/resource_spec.rb
347
+ - spec/desk_api/resources/page_spec.rb
348
+ - spec/desk_api_spec.rb
346
349
  - spec/spec_helper.rb
347
350
  has_rdoc: