desk_api 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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: