zendesk2 1.9.0 → 1.10.0

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 (222) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +30 -0
  3. data/.travis.yml +3 -1
  4. data/Gemfile +4 -5
  5. data/Guardfile +4 -3
  6. data/Rakefile +4 -3
  7. data/lib/zendesk2.rb +9 -6
  8. data/lib/zendesk2/attributes.rb +11 -8
  9. data/lib/zendesk2/audit_event.rb +5 -3
  10. data/lib/zendesk2/categories.rb +4 -3
  11. data/lib/zendesk2/category.rb +10 -5
  12. data/lib/zendesk2/client.rb +3 -3
  13. data/lib/zendesk2/collection.rb +35 -21
  14. data/lib/zendesk2/create_category.rb +10 -9
  15. data/lib/zendesk2/create_forum.rb +11 -10
  16. data/lib/zendesk2/create_group.rb +13 -12
  17. data/lib/zendesk2/create_membership.rb +21 -20
  18. data/lib/zendesk2/create_organization.rb +24 -18
  19. data/lib/zendesk2/create_ticket.rb +60 -56
  20. data/lib/zendesk2/create_ticket_field.rb +24 -22
  21. data/lib/zendesk2/create_topic.rb +11 -10
  22. data/lib/zendesk2/create_topic_comment.rb +12 -11
  23. data/lib/zendesk2/create_user.rb +54 -41
  24. data/lib/zendesk2/create_user_field.rb +22 -21
  25. data/lib/zendesk2/create_user_identity.rb +18 -15
  26. data/lib/zendesk2/create_view.rb +62 -62
  27. data/lib/zendesk2/destroy_category.rb +2 -1
  28. data/lib/zendesk2/destroy_forum.rb +2 -1
  29. data/lib/zendesk2/destroy_group.rb +3 -2
  30. data/lib/zendesk2/destroy_membership.rb +7 -5
  31. data/lib/zendesk2/destroy_organization.rb +3 -2
  32. data/lib/zendesk2/destroy_ticket.rb +3 -2
  33. data/lib/zendesk2/destroy_ticket_field.rb +3 -2
  34. data/lib/zendesk2/destroy_topic.rb +3 -2
  35. data/lib/zendesk2/destroy_topic_comment.rb +4 -3
  36. data/lib/zendesk2/destroy_user.rb +11 -10
  37. data/lib/zendesk2/destroy_user_field.rb +3 -2
  38. data/lib/zendesk2/destroy_user_identity.rb +4 -3
  39. data/lib/zendesk2/destroy_view.rb +3 -2
  40. data/lib/zendesk2/error.rb +1 -1
  41. data/lib/zendesk2/forum.rb +36 -18
  42. data/lib/zendesk2/forums.rb +4 -3
  43. data/lib/zendesk2/get_assignable_groups.rb +3 -2
  44. data/lib/zendesk2/get_categories.rb +2 -1
  45. data/lib/zendesk2/get_category.rb +3 -2
  46. data/lib/zendesk2/get_ccd_tickets.rb +4 -3
  47. data/lib/zendesk2/get_current_user.rb +3 -2
  48. data/lib/zendesk2/get_forum.rb +3 -2
  49. data/lib/zendesk2/get_forums.rb +2 -1
  50. data/lib/zendesk2/get_group.rb +3 -2
  51. data/lib/zendesk2/get_groups.rb +2 -1
  52. data/lib/zendesk2/get_membership.rb +3 -2
  53. data/lib/zendesk2/get_memberships.rb +3 -2
  54. data/lib/zendesk2/get_organization.rb +3 -2
  55. data/lib/zendesk2/get_organization_by_external_id.rb +8 -5
  56. data/lib/zendesk2/get_organization_memberships.rb +5 -2
  57. data/lib/zendesk2/get_organization_tickets.rb +7 -5
  58. data/lib/zendesk2/get_organization_users.rb +6 -5
  59. data/lib/zendesk2/get_organizations.rb +2 -1
  60. data/lib/zendesk2/get_requested_tickets.rb +5 -4
  61. data/lib/zendesk2/get_ticket.rb +3 -2
  62. data/lib/zendesk2/get_ticket_audit.rb +5 -4
  63. data/lib/zendesk2/get_ticket_audits.rb +4 -3
  64. data/lib/zendesk2/get_ticket_comments.rb +6 -5
  65. data/lib/zendesk2/get_ticket_field.rb +3 -2
  66. data/lib/zendesk2/get_ticket_fields.rb +2 -1
  67. data/lib/zendesk2/get_ticket_metric.rb +4 -3
  68. data/lib/zendesk2/get_ticket_metrics.rb +3 -2
  69. data/lib/zendesk2/get_tickets.rb +2 -1
  70. data/lib/zendesk2/get_topic.rb +3 -2
  71. data/lib/zendesk2/get_topic_comment.rb +4 -3
  72. data/lib/zendesk2/get_topic_comments.rb +5 -4
  73. data/lib/zendesk2/get_topics.rb +2 -1
  74. data/lib/zendesk2/get_user.rb +7 -7
  75. data/lib/zendesk2/get_user_field.rb +3 -2
  76. data/lib/zendesk2/get_user_fields.rb +3 -2
  77. data/lib/zendesk2/get_user_identities.rb +4 -3
  78. data/lib/zendesk2/get_user_identity.rb +4 -3
  79. data/lib/zendesk2/get_user_memberships.rb +4 -3
  80. data/lib/zendesk2/get_user_organizations.rb +5 -4
  81. data/lib/zendesk2/get_users.rb +3 -2
  82. data/lib/zendesk2/get_view.rb +3 -2
  83. data/lib/zendesk2/get_view_tickets.rb +19 -16
  84. data/lib/zendesk2/get_views.rb +2 -1
  85. data/lib/zendesk2/group.rb +6 -5
  86. data/lib/zendesk2/groups.rb +7 -6
  87. data/lib/zendesk2/help_center.rb +15 -0
  88. data/lib/zendesk2/help_center/access_policy.rb +3 -2
  89. data/lib/zendesk2/help_center/article.rb +10 -7
  90. data/lib/zendesk2/help_center/articles.rb +7 -7
  91. data/lib/zendesk2/help_center/categories.rb +3 -2
  92. data/lib/zendesk2/help_center/category.rb +8 -7
  93. data/lib/zendesk2/help_center/create_help_center_article.rb +31 -29
  94. data/lib/zendesk2/help_center/create_help_center_category.rb +17 -16
  95. data/lib/zendesk2/help_center/create_help_center_post.rb +37 -0
  96. data/lib/zendesk2/help_center/create_help_center_section.rb +32 -31
  97. data/lib/zendesk2/help_center/create_help_center_topic.rb +36 -0
  98. data/lib/zendesk2/help_center/create_help_center_translation.rb +15 -14
  99. data/lib/zendesk2/help_center/destroy_help_center_article.rb +3 -2
  100. data/lib/zendesk2/help_center/destroy_help_center_category.rb +3 -2
  101. data/lib/zendesk2/help_center/destroy_help_center_post.rb +15 -0
  102. data/lib/zendesk2/help_center/destroy_help_center_section.rb +3 -2
  103. data/lib/zendesk2/help_center/destroy_help_center_topic.rb +15 -0
  104. data/lib/zendesk2/help_center/destroy_help_center_translation.rb +2 -1
  105. data/lib/zendesk2/help_center/get_help_center_access_policy.rb +6 -5
  106. data/lib/zendesk2/help_center/get_help_center_article.rb +7 -9
  107. data/lib/zendesk2/help_center/get_help_center_articles.rb +3 -2
  108. data/lib/zendesk2/help_center/get_help_center_categories.rb +6 -2
  109. data/lib/zendesk2/help_center/get_help_center_categories_articles.rb +8 -7
  110. data/lib/zendesk2/help_center/get_help_center_categories_sections.rb +6 -5
  111. data/lib/zendesk2/help_center/get_help_center_category.rb +7 -9
  112. data/lib/zendesk2/help_center/get_help_center_post.rb +19 -0
  113. data/lib/zendesk2/help_center/get_help_center_posts.rb +28 -0
  114. data/lib/zendesk2/help_center/get_help_center_section.rb +8 -10
  115. data/lib/zendesk2/help_center/get_help_center_sections.rb +3 -2
  116. data/lib/zendesk2/help_center/get_help_center_sections_articles.rb +9 -8
  117. data/lib/zendesk2/help_center/get_help_center_topic.rb +14 -0
  118. data/lib/zendesk2/help_center/get_help_center_topics.rb +10 -0
  119. data/lib/zendesk2/help_center/get_help_center_translation.rb +5 -4
  120. data/lib/zendesk2/help_center/get_help_center_translations.rb +7 -6
  121. data/lib/zendesk2/help_center/post.rb +72 -0
  122. data/lib/zendesk2/help_center/posts.rb +18 -0
  123. data/lib/zendesk2/help_center/search_help_center_articles.rb +8 -7
  124. data/lib/zendesk2/help_center/section.rb +11 -11
  125. data/lib/zendesk2/help_center/sections.rb +7 -6
  126. data/lib/zendesk2/help_center/topic.rb +52 -0
  127. data/lib/zendesk2/help_center/topics.rb +13 -0
  128. data/lib/zendesk2/help_center/translation.rb +8 -5
  129. data/lib/zendesk2/help_center/translation_source.rb +16 -13
  130. data/lib/zendesk2/help_center/translations.rb +3 -2
  131. data/lib/zendesk2/help_center/update_help_center_access_policy.rb +8 -7
  132. data/lib/zendesk2/help_center/update_help_center_article.rb +9 -11
  133. data/lib/zendesk2/help_center/update_help_center_category.rb +9 -11
  134. data/lib/zendesk2/help_center/update_help_center_post.rb +20 -0
  135. data/lib/zendesk2/help_center/update_help_center_section.rb +9 -11
  136. data/lib/zendesk2/help_center/update_help_center_topic.rb +20 -0
  137. data/lib/zendesk2/help_center/update_help_center_translation.rb +4 -3
  138. data/lib/zendesk2/logger.rb +3 -2
  139. data/lib/zendesk2/mark_membership_default.rb +7 -6
  140. data/lib/zendesk2/mark_user_identity_primary.rb +7 -6
  141. data/lib/zendesk2/membership.rb +10 -8
  142. data/lib/zendesk2/memberships.rb +18 -12
  143. data/lib/zendesk2/mock.rb +39 -34
  144. data/lib/zendesk2/model.rb +14 -3
  145. data/lib/zendesk2/organization.rb +7 -7
  146. data/lib/zendesk2/organizations.rb +14 -12
  147. data/lib/zendesk2/paged_collection.rb +40 -36
  148. data/lib/zendesk2/rate_limit.rb +4 -3
  149. data/lib/zendesk2/real.rb +25 -22
  150. data/lib/zendesk2/request.rb +78 -82
  151. data/lib/zendesk2/search.rb +8 -7
  152. data/lib/zendesk2/search_organization.rb +14 -14
  153. data/lib/zendesk2/search_user.rb +41 -37
  154. data/lib/zendesk2/searchable.rb +36 -26
  155. data/lib/zendesk2/ticket.rb +20 -18
  156. data/lib/zendesk2/ticket_audit.rb +5 -4
  157. data/lib/zendesk2/ticket_audits.rb +10 -11
  158. data/lib/zendesk2/ticket_change.rb +10 -11
  159. data/lib/zendesk2/ticket_comment.rb +2 -1
  160. data/lib/zendesk2/ticket_comment_privacy_change.rb +12 -14
  161. data/lib/zendesk2/ticket_comments.rb +7 -6
  162. data/lib/zendesk2/ticket_create.rb +8 -9
  163. data/lib/zendesk2/ticket_field.rb +5 -4
  164. data/lib/zendesk2/ticket_fields.rb +4 -3
  165. data/lib/zendesk2/ticket_metric.rb +2 -2
  166. data/lib/zendesk2/ticket_metrics.rb +3 -2
  167. data/lib/zendesk2/ticket_notification.rb +12 -13
  168. data/lib/zendesk2/ticket_voice_comment.rb +28 -29
  169. data/lib/zendesk2/tickets.rb +8 -7
  170. data/lib/zendesk2/topic.rb +49 -22
  171. data/lib/zendesk2/topic_comment.rb +12 -9
  172. data/lib/zendesk2/topic_comments.rb +4 -3
  173. data/lib/zendesk2/topics.rb +4 -3
  174. data/lib/zendesk2/update_category.rb +8 -6
  175. data/lib/zendesk2/update_forum.rb +5 -4
  176. data/lib/zendesk2/update_group.rb +5 -4
  177. data/lib/zendesk2/update_organization.rb +18 -9
  178. data/lib/zendesk2/update_request.rb +6 -5
  179. data/lib/zendesk2/update_ticket.rb +39 -38
  180. data/lib/zendesk2/update_ticket_field.rb +5 -4
  181. data/lib/zendesk2/update_topic.rb +5 -4
  182. data/lib/zendesk2/update_user.rb +39 -31
  183. data/lib/zendesk2/update_user_field.rb +4 -3
  184. data/lib/zendesk2/update_user_identity.rb +7 -6
  185. data/lib/zendesk2/update_view.rb +38 -34
  186. data/lib/zendesk2/user.rb +41 -37
  187. data/lib/zendesk2/user_field.rb +9 -6
  188. data/lib/zendesk2/user_fields.rb +4 -3
  189. data/lib/zendesk2/user_identities.rb +4 -3
  190. data/lib/zendesk2/user_identity.rb +12 -9
  191. data/lib/zendesk2/users.rb +5 -4
  192. data/lib/zendesk2/version.rb +2 -1
  193. data/lib/zendesk2/view.rb +24 -13
  194. data/lib/zendesk2/views.rb +3 -2
  195. data/spec/categories_spec.rb +63 -60
  196. data/spec/client_spec.rb +6 -5
  197. data/spec/forums_spec.rb +64 -61
  198. data/spec/groups_spec.rb +7 -8
  199. data/spec/help_center/articles_spec.rb +22 -26
  200. data/spec/help_center/categories_spec.rb +26 -27
  201. data/spec/help_center/posts_spec.rb +39 -0
  202. data/spec/help_center/sections_spec.rb +32 -33
  203. data/spec/help_center/topics_spec.rb +13 -0
  204. data/spec/lib/paged_collection_spec.rb +11 -11
  205. data/spec/lib/rate_limit_spec.rb +9 -8
  206. data/spec/memberships_spec.rb +38 -27
  207. data/spec/organizations_spec.rb +92 -87
  208. data/spec/shared/zendesk_resource.rb +40 -25
  209. data/spec/spec_helper.rb +8 -13
  210. data/spec/support/client_helper.rb +5 -4
  211. data/spec/support/data_helper.rb +1 -0
  212. data/spec/ticket_fields_spec.rb +6 -7
  213. data/spec/tickets_spec.rb +69 -58
  214. data/spec/topic_comments_spec.rb +7 -8
  215. data/spec/topics_spec.rb +5 -6
  216. data/spec/user_fields_spec.rb +7 -7
  217. data/spec/user_identities_spec.rb +29 -25
  218. data/spec/users_spec.rb +88 -78
  219. data/spec/views_spec.rb +45 -34
  220. data/spec/zendesk2_spec.rb +3 -2
  221. data/zendesk2.gemspec +15 -14
  222. metadata +21 -2
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::GetTopicComment
2
3
  include Zendesk2::Request
3
4
 
@@ -5,14 +6,14 @@ class Zendesk2::GetTopicComment
5
6
  request_path { |r| "/topics/#{r.topic_id}/comments/#{r.topic_comment_id}.json" }
6
7
 
7
8
  def topic_id
8
- params.fetch("topic_comment").fetch("topic_id")
9
+ params.fetch('topic_comment').fetch('topic_id')
9
10
  end
10
11
 
11
12
  def topic_comment_id
12
- params.fetch("topic_comment").fetch("id")
13
+ params.fetch('topic_comment').fetch('id')
13
14
  end
14
15
 
15
16
  def mock
16
- mock_response("topic_comment" => self.find!(:topic_comments, topic_comment_id))
17
+ mock_response('topic_comment' => find!(:topic_comments, topic_comment_id))
17
18
  end
18
19
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::GetTopicComments
2
3
  include Zendesk2::Request
3
4
 
@@ -7,14 +8,14 @@ class Zendesk2::GetTopicComments
7
8
  page_params!
8
9
 
9
10
  def topic_id
10
- params.fetch("topic_id")
11
+ params.fetch('topic_id')
11
12
  end
12
13
 
13
14
  def mock
14
- self.find!(:topics, topic_id)
15
+ find!(:topics, topic_id)
15
16
 
16
- topic_comments = self.data[:topic_comments].values.select { |c| c["topic_id"] == topic_id }
17
+ topic_comments = data[:topic_comments].values.select { |c| c['topic_id'] == topic_id }
17
18
 
18
- page(topic_comments, root: "topic_comments")
19
+ page(topic_comments, root: 'topic_comments')
19
20
  end
20
21
  end
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::GetTopics
2
3
  include Zendesk2::Request
3
4
 
4
- request_path { |r| "/topics.json" }
5
+ request_path { |_r| '/topics.json' }
5
6
 
6
7
  page_params!
7
8
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::GetUser
2
3
  include Zendesk2::Request
3
4
 
@@ -5,19 +6,18 @@ class Zendesk2::GetUser
5
6
  request_path { |r| "/users/#{r.user_id}.json" }
6
7
 
7
8
  def user_id
8
- params.fetch("user").fetch("id").to_i
9
+ params.fetch('user').fetch('id').to_i
9
10
  end
10
11
 
11
12
  def mock
12
- identities = self.data[:identities].values.select { |i| i["user_id"] == user_id }
13
+ identities = data[:identities].values.select { |i| i['user_id'] == user_id }
13
14
  body = find!(:users, user_id).dup
14
-
15
- if identity = identities.find { |i| i["type"] == "email" && i["primary"] } || identities.find { |i| i["type"] == "email" }
16
- body.merge!("email" => identity["value"])
17
- end
15
+ identity = identities.find { |i| i['type'] == 'email' && i['primary'] } ||
16
+ identities.find { |i| i['type'] == 'email' }
17
+ body['email'] = identity['value'] if identity
18
18
 
19
19
  # @todo what happens if no identity?
20
20
 
21
- mock_response("user" => body)
21
+ mock_response('user' => body)
22
22
  end
23
23
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::GetUserField
2
3
  include Zendesk2::Request
3
4
 
@@ -5,10 +6,10 @@ class Zendesk2::GetUserField
5
6
  request_method :get
6
7
 
7
8
  def user_field_id
8
- params.fetch("user_field").fetch("id")
9
+ params.fetch('user_field').fetch('id')
9
10
  end
10
11
 
11
12
  def mock
12
- mock_response("user_field" => find!(:user_fields, user_field_id))
13
+ mock_response('user_field' => find!(:user_fields, user_field_id))
13
14
  end
14
15
  end
@@ -1,12 +1,13 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::GetUserFields
2
3
  include Zendesk2::Request
3
4
 
4
5
  request_method :get
5
- request_path { "/user_fields.json" }
6
+ request_path { '/user_fields.json' }
6
7
 
7
8
  page_params!
8
9
 
9
- def mock(params={})
10
+ def mock(_params = {})
10
11
  page(:user_fields)
11
12
  end
12
13
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::GetUserIdentities
2
3
  include Zendesk2::Request
3
4
 
@@ -6,12 +7,12 @@ class Zendesk2::GetUserIdentities
6
7
  page_params!
7
8
 
8
9
  def user_id
9
- params.fetch("user_id").to_i
10
+ params.fetch('user_id').to_i
10
11
  end
11
12
 
12
13
  def mock
13
- identities = cistern.data[:identities].values.select { |a| a["user_id"] == user_id }
14
+ identities = cistern.data[:identities].values.select { |a| a['user_id'] == user_id }
14
15
 
15
- page(identities, root: "identities")
16
+ page(identities, root: 'identities')
16
17
  end
17
18
  end
@@ -1,17 +1,18 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::GetUserIdentity
2
3
  include Zendesk2::Request
3
4
 
4
5
  request_path { |r| "/users/#{r.user_id}/identities/#{r.user_identity_id}.json" }
5
6
 
6
7
  def user_identity_id
7
- params.fetch("user_identity").fetch("id").to_i
8
+ params.fetch('user_identity').fetch('id').to_i
8
9
  end
9
10
 
10
11
  def user_id
11
- params.fetch("user_identity").fetch("user_id").to_i
12
+ params.fetch('user_identity').fetch('user_id').to_i
12
13
  end
13
14
 
14
15
  def mock
15
- mock_response("identity" => find!(:identities, user_identity_id))
16
+ mock_response('identity' => find!(:identities, user_identity_id))
16
17
  end
17
18
  end
@@ -1,16 +1,17 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::GetUserMemberships
2
3
  include Zendesk2::Request
3
4
 
4
5
  request_method :get
5
- request_path { |r| "/users/#{r.user_id}/organization_memberships.json" }
6
+ request_path { |r| "/users/#{r.user_id}/organization_memberships.json" }
6
7
 
7
8
  page_params!
8
9
 
9
10
  def user_id
10
- params.fetch("membership").fetch("user_id").to_i
11
+ params.fetch('membership').fetch('user_id').to_i
11
12
  end
12
13
 
13
14
  def mock
14
- page(self.data[:memberships].values.select { |m| m["user_id"] == user_id }, root: "organization_memberships")
15
+ page(data[:memberships].values.select { |m| m['user_id'] == user_id }, root: 'organization_memberships')
15
16
  end
16
17
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::GetUserOrganizations
2
3
  include Zendesk2::Request
3
4
 
@@ -7,13 +8,13 @@ class Zendesk2::GetUserOrganizations
7
8
  page_params!
8
9
 
9
10
  def user_id
10
- params.fetch("user_id").to_i
11
+ params.fetch('user_id').to_i
11
12
  end
12
13
 
13
14
  def mock
14
- memberships = self.data[:memberships].values.select { |m| m["user_id"] == user_id }
15
- organizations = memberships.map { |m| self.data[:organizations].fetch(m["organization_id"]) }
15
+ memberships = data[:memberships].values.select { |m| m['user_id'] == user_id }
16
+ organizations = memberships.map { |m| data[:organizations].fetch(m['organization_id']) }
16
17
 
17
- page(organizations, root: "organizations")
18
+ page(organizations, root: 'organizations')
18
19
  end
19
20
  end
@@ -1,12 +1,13 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::GetUsers
2
3
  include Zendesk2::Request
3
4
 
4
5
  request_method :get
5
- request_path { "/users.json" }
6
+ request_path { '/users.json' }
6
7
 
7
8
  page_params!
8
9
 
9
- def mock(params={})
10
+ def mock(params = {})
10
11
  page(:users, params)
11
12
  end
12
13
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::GetView
2
3
  include Zendesk2::Request
3
4
 
@@ -5,10 +6,10 @@ class Zendesk2::GetView
5
6
  request_path { |r| "/views/#{r.view_id}.json" }
6
7
 
7
8
  def view_id
8
- params.fetch("view").fetch("id")
9
+ params.fetch('view').fetch('id')
9
10
  end
10
11
 
11
12
  def mock
12
- mock_response("view" => self.find!(:views, view_id))
13
+ mock_response('view' => find!(:views, view_id))
13
14
  end
14
15
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::GetViewTickets
2
3
  include Zendesk2::Request
3
4
 
@@ -7,33 +8,35 @@ class Zendesk2::GetViewTickets
7
8
  page_params!
8
9
 
9
10
  def view_id
10
- params.fetch("view_id").to_i
11
+ params.fetch('view_id').to_i
11
12
  end
12
13
 
13
- def mock(params={})
14
- view = self.find!(:views, view_id)
14
+ def mock(_params = {})
15
+ view = find!(:views, view_id)
15
16
 
16
- tickets = Array(view["conditions"]["all"]).map { |c|
17
- operator = ("is" == c.fetch("operator")) ? :eql? : :!=
18
- key = c.fetch("field")
19
- value = c.fetch("value").to_s
17
+ operators = Array(view['conditions']['all']).map do |c|
18
+ operator = ('is' == c.fetch('operator')) ? :eql? : :!=
19
+ key = c.fetch('field')
20
+ value = c.fetch('value').to_s
20
21
 
21
22
  [operator, key, value]
22
- }.inject(self.data[:tickets].values) { |r, (o,k,v)|
23
+ end
24
+
25
+ tickets = operators.inject(data[:tickets].values) do |r, (o, k, v)|
23
26
  r.select { |t| t[k].to_s.public_send(o, v) }
24
- }
27
+ end
25
28
 
26
- any_operators = Array(view["conditions"]["any"]).map { |c|
27
- operator = ("is" == c.fetch("operator")) ? :eql? : :!=
28
- key = c.fetch("field")
29
- value = c.fetch("value").to_s
29
+ any_operators = Array(view['conditions']['any']).map do |c|
30
+ operator = ('is' == c.fetch('operator')) ? :eql? : :!=
31
+ key = c.fetch('field')
32
+ value = c.fetch('value').to_s
30
33
 
31
34
  [operator, key, value]
32
- }
35
+ end
33
36
 
34
37
  any_operators.any? &&
35
- tickets.select! { |t| any_operators.find { |(o,k,v)| t[k].to_s.public_send(o, v) } }
38
+ tickets.select! { |t| any_operators.find { |(o, k, v)| t[k].to_s.public_send(o, v) } }
36
39
 
37
- page(tickets, root: "tickets")
40
+ page(tickets, root: 'tickets')
38
41
  end
39
42
  end
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::GetViews
2
3
  include Zendesk2::Request
3
4
 
4
5
  request_method :get
5
- request_path { |r| "/views.json" }
6
+ request_path { |_r| '/views.json' }
6
7
 
7
8
  page_params!
8
9
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::Group
2
3
  include Zendesk2::Model
3
4
 
@@ -21,12 +22,12 @@ class Zendesk2::Group
21
22
  data = if new_record?
22
23
  requires :name
23
24
 
24
- cistern.create_group("group" => self.attributes)
25
+ cistern.create_group('group' => attributes)
25
26
  else
26
27
  requires :identity
27
28
 
28
- cistern.update_group("group" => self.attributes)
29
- end.body["group"]
29
+ cistern.update_group('group' => attributes)
30
+ end.body['group']
30
31
 
31
32
  merge_attributes(data)
32
33
  end
@@ -34,12 +35,12 @@ class Zendesk2::Group
34
35
  def destroy!
35
36
  requires :identity
36
37
 
37
- cistern.destroy_group("group" => {"id" => self.identity})
38
+ cistern.destroy_group('group' => { 'id' => identity })
38
39
 
39
40
  self.deleted = true
40
41
  end
41
42
 
42
43
  def destroyed?
43
- self.deleted
44
+ deleted
44
45
  end
45
46
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::Groups
2
3
  include Zendesk2::Collection
3
4
 
@@ -7,14 +8,14 @@ class Zendesk2::Groups
7
8
  model Zendesk2::Group
8
9
 
9
10
  self.collection_method = :get_groups
10
- self.collection_root = "groups"
11
+ self.collection_root = 'groups'
11
12
  self.model_method = :get_group
12
- self.model_root = "group"
13
- self.search_type = "group"
13
+ self.model_root = 'group'
14
+ self.search_type = 'group'
14
15
 
15
16
  def assignable
16
- data = self.cistern.get_assignable_groups.body
17
- collection = self.cistern.groups.load(data["groups"])
18
- collection.merge_attributes(Cistern::Hash.slice(data, "next_page", "previous_page", "count"))
17
+ data = cistern.get_assignable_groups.body
18
+ collection = cistern.groups.load(data['groups'])
19
+ collection.merge_attributes(Cistern::Hash.slice(data, 'next_page', 'previous_page', 'count'))
19
20
  end
20
21
  end
@@ -1,15 +1,20 @@
1
+ # frozen_string_literal: true
1
2
  module Zendesk2::HelpCenter; end
2
3
 
3
4
  require 'zendesk2/help_center/translation_source'
4
5
 
5
6
  require 'zendesk2/help_center/create_help_center_article'
6
7
  require 'zendesk2/help_center/create_help_center_category'
8
+ require 'zendesk2/help_center/create_help_center_post'
7
9
  require 'zendesk2/help_center/create_help_center_section'
10
+ require 'zendesk2/help_center/create_help_center_topic'
8
11
  require 'zendesk2/help_center/create_help_center_translation'
9
12
  require 'zendesk2/help_center/destroy_help_center_article'
10
13
  require 'zendesk2/help_center/destroy_help_center_category'
14
+ require 'zendesk2/help_center/destroy_help_center_post'
11
15
  require 'zendesk2/help_center/destroy_help_center_section'
12
16
  require 'zendesk2/help_center/destroy_help_center_translation'
17
+ require 'zendesk2/help_center/destroy_help_center_topic'
13
18
  require 'zendesk2/help_center/get_help_center_access_policy'
14
19
  require 'zendesk2/help_center/get_help_center_article'
15
20
  require 'zendesk2/help_center/get_help_center_articles'
@@ -17,25 +22,35 @@ require 'zendesk2/help_center/get_help_center_categories'
17
22
  require 'zendesk2/help_center/get_help_center_categories_articles'
18
23
  require 'zendesk2/help_center/get_help_center_categories_sections'
19
24
  require 'zendesk2/help_center/get_help_center_category'
25
+ require 'zendesk2/help_center/get_help_center_post'
26
+ require 'zendesk2/help_center/get_help_center_posts'
20
27
  require 'zendesk2/help_center/get_help_center_section'
21
28
  require 'zendesk2/help_center/get_help_center_sections'
22
29
  require 'zendesk2/help_center/get_help_center_sections_articles'
30
+ require 'zendesk2/help_center/get_help_center_topic'
31
+ require 'zendesk2/help_center/get_help_center_topics'
23
32
  require 'zendesk2/help_center/get_help_center_translation'
24
33
  require 'zendesk2/help_center/get_help_center_translations'
25
34
  require 'zendesk2/help_center/search_help_center_articles'
26
35
  require 'zendesk2/help_center/update_help_center_access_policy'
27
36
  require 'zendesk2/help_center/update_help_center_article'
28
37
  require 'zendesk2/help_center/update_help_center_category'
38
+ require 'zendesk2/help_center/update_help_center_post'
29
39
  require 'zendesk2/help_center/update_help_center_section'
40
+ require 'zendesk2/help_center/update_help_center_topic'
30
41
  require 'zendesk2/help_center/update_help_center_translation'
31
42
 
32
43
  require 'zendesk2/help_center/access_policy'
33
44
  require 'zendesk2/help_center/article'
34
45
  require 'zendesk2/help_center/category'
46
+ require 'zendesk2/help_center/post'
35
47
  require 'zendesk2/help_center/section'
48
+ require 'zendesk2/help_center/topic'
36
49
  require 'zendesk2/help_center/translation'
37
50
 
38
51
  require 'zendesk2/help_center/articles'
39
52
  require 'zendesk2/help_center/categories'
53
+ require 'zendesk2/help_center/posts'
40
54
  require 'zendesk2/help_center/sections'
55
+ require 'zendesk2/help_center/topics'
41
56
  require 'zendesk2/help_center/translations'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  class Zendesk2::HelpCenter::AccessPolicy
2
3
  include Zendesk2::Model
3
4
 
@@ -20,7 +21,7 @@ class Zendesk2::HelpCenter::AccessPolicy
20
21
  def save!
21
22
  requires :section_id
22
23
 
23
- response = cistern.update_help_center_access_policy("access_policy" => self.attributes, "section_id" => self.section_id)
24
- merge_attributes(response.body["access_policy"])
24
+ response = cistern.update_help_center_access_policy('access_policy' => attributes, 'section_id' => section_id)
25
+ merge_attributes(response.body['access_policy'])
25
26
  end
26
27
  end