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,14 +0,0 @@
1
- module Desk
2
- module Action
3
- module Resource
4
- protected
5
- def resource(name)
6
- require "desk/resource/#{name}"
7
- "Desk::Resource::#{name.classify}".constantize
8
- rescue NameError
9
- rescue LoadError
10
- Desk::Resource
11
- end
12
- end
13
- end
14
- end
@@ -1,10 +0,0 @@
1
- require 'desk/error/server_error'
2
-
3
- module Desk
4
- class Error
5
- # Raised when Desk returns the HTTP status code 500
6
- class InternalServerError < Desk::Error::ServerError
7
- HTTP_STATUS_CODE = 500
8
- end
9
- end
10
- end
@@ -1,9 +0,0 @@
1
- require 'desk/error'
2
-
3
- module Desk
4
- class Error
5
- # Raised when JSON parsing fails
6
- class ParserError < Desk::Error
7
- end
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- require 'desk/error'
2
-
3
- module Desk
4
- class Error
5
- # Raised when JSON parsing fails
6
- class ParserError < Desk::Error
7
- end
8
- end
9
- end
@@ -1,10 +0,0 @@
1
- require 'desk/error/server_error'
2
-
3
- module Desk
4
- class Error
5
- # Raised when Desk returns the HTTP status code 503
6
- class ServiceUnavailable < Desk::Error::ServerError
7
- HTTP_STATUS_CODE = 503
8
- end
9
- end
10
- end
@@ -1,10 +0,0 @@
1
- module Desk
2
- class Resource
3
- class Article < Desk::Resource
4
- include Desk::Action::Create
5
- include Desk::Action::Update
6
- include Desk::Action::Delete
7
- include Desk::Action::Search
8
- end
9
- end
10
- end
@@ -1,8 +0,0 @@
1
- module Desk
2
- class Resource
3
- class ArticleTranslation < Desk::Resource
4
- include Desk::Action::Create
5
- include Desk::Action::Update
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- module Desk
2
- class Resource
3
- class Attachment < Desk::Resource
4
- include Desk::Action::Create
5
- include Desk::Action::Delete
6
- end
7
- end
8
- end
@@ -1,9 +0,0 @@
1
- module Desk
2
- class Resource
3
- class Case < Desk::Resource
4
- include Desk::Action::Create
5
- include Desk::Action::Update
6
- include Desk::Action::Search
7
- end
8
- end
9
- end
@@ -1,8 +0,0 @@
1
- module Desk
2
- class Resource
3
- class Company < Desk::Resource
4
- include Desk::Action::Create
5
- include Desk::Action::Update
6
- end
7
- end
8
- end
@@ -1,9 +0,0 @@
1
- module Desk
2
- class Resource
3
- class Customer < Desk::Resource
4
- include Desk::Action::Create
5
- include Desk::Action::Update
6
- include Desk::Action::Search
7
- end
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- module Desk
2
- class Resource
3
- class IntegrationUrl < Desk::Resource
4
- include Desk::Action::Create
5
- include Desk::Action::Update
6
- include Desk::Action::Delete
7
- end
8
- end
9
- end
@@ -1,7 +0,0 @@
1
- module Desk
2
- class Resource
3
- class Job < Desk::Resource
4
- include Desk::Action::Create
5
- end
6
- end
7
- end
@@ -1,9 +0,0 @@
1
- module Desk
2
- class Resource
3
- class Article < Desk::Resource
4
- include Desk::Action::Create
5
- include Desk::Action::Update
6
- include Desk::Action::Delete
7
- end
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- module Desk
2
- class Resource
3
- class Macro < Desk::Resource
4
- include Desk::Action::Create
5
- include Desk::Action::Update
6
- include Desk::Action::Delete
7
- end
8
- end
9
- end
@@ -1,7 +0,0 @@
1
- module Desk
2
- class Resource
3
- class MacroAction < Desk::Resource
4
- include Desk::Action::Update
5
- end
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- module Desk
2
- class Resource
3
- class Note < Desk::Resource
4
- include Desk::Action::Create
5
- end
6
- end
7
- end
@@ -1,8 +0,0 @@
1
- module Desk
2
- class Resource
3
- class Reply < Desk::Resource
4
- include Desk::Action::Create
5
- include Desk::Action::Update
6
- end
7
- end
8
- end
@@ -1,9 +0,0 @@
1
- module Desk
2
- class Resource
3
- class Topic < Desk::Resource
4
- include Desk::Action::Create
5
- include Desk::Action::Update
6
- include Desk::Action::Delete
7
- end
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- module Desk
2
- class Resource
3
- class TopicTranslation < Desk::Resource
4
- include Desk::Action::Create
5
- include Desk::Action::Update
6
- include Desk::Action::Delete
7
- end
8
- end
9
- end
@@ -1,7 +0,0 @@
1
- module Desk
2
- class Resource
3
- class UserPreference < Desk::Resource
4
- include Desk::Action::Update
5
- end
6
- end
7
- end
@@ -1,34 +0,0 @@
1
- require 'faraday'
2
- require 'desk/error/bad_gateway'
3
- require 'desk/error/bad_request'
4
- require 'desk/error/conflict'
5
- require 'desk/error/forbidden'
6
- require 'desk/error/gateway_timeout'
7
- require 'desk/error/internal_server_error'
8
- require 'desk/error/method_not_allowed'
9
- require 'desk/error/not_acceptable'
10
- require 'desk/error/not_found'
11
- require 'desk/error/service_unavailable'
12
- require 'desk/error/too_many_requests'
13
- require 'desk/error/unauthorized'
14
- require 'desk/error/unprocessable_entity'
15
- require 'desk/error/unsupported_media_type'
16
-
17
- module Desk
18
- module Response
19
- class RaiseError < Faraday::Response::Middleware
20
- def on_complete(env)
21
- status_code = env[:status].to_i
22
- error_class = @klass.errors[status_code]
23
- raise error_class.from_response(env) if error_class
24
- end
25
-
26
- def initialize(app, klass)
27
- @klass = klass
28
- super(app)
29
- end
30
- end
31
-
32
- Faraday.register_middleware :response, raise_error: lambda { RaiseError}
33
- end
34
- end
data/lib/desk/version.rb DELETED
@@ -1,3 +0,0 @@
1
- module Desk
2
- VERSION = '0.1.0'
3
- end