zendesk2 1.9.0 → 1.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +30 -0
- data/.travis.yml +3 -1
- data/Gemfile +4 -5
- data/Guardfile +4 -3
- data/Rakefile +4 -3
- data/lib/zendesk2.rb +9 -6
- data/lib/zendesk2/attributes.rb +11 -8
- data/lib/zendesk2/audit_event.rb +5 -3
- data/lib/zendesk2/categories.rb +4 -3
- data/lib/zendesk2/category.rb +10 -5
- data/lib/zendesk2/client.rb +3 -3
- data/lib/zendesk2/collection.rb +35 -21
- data/lib/zendesk2/create_category.rb +10 -9
- data/lib/zendesk2/create_forum.rb +11 -10
- data/lib/zendesk2/create_group.rb +13 -12
- data/lib/zendesk2/create_membership.rb +21 -20
- data/lib/zendesk2/create_organization.rb +24 -18
- data/lib/zendesk2/create_ticket.rb +60 -56
- data/lib/zendesk2/create_ticket_field.rb +24 -22
- data/lib/zendesk2/create_topic.rb +11 -10
- data/lib/zendesk2/create_topic_comment.rb +12 -11
- data/lib/zendesk2/create_user.rb +54 -41
- data/lib/zendesk2/create_user_field.rb +22 -21
- data/lib/zendesk2/create_user_identity.rb +18 -15
- data/lib/zendesk2/create_view.rb +62 -62
- data/lib/zendesk2/destroy_category.rb +2 -1
- data/lib/zendesk2/destroy_forum.rb +2 -1
- data/lib/zendesk2/destroy_group.rb +3 -2
- data/lib/zendesk2/destroy_membership.rb +7 -5
- data/lib/zendesk2/destroy_organization.rb +3 -2
- data/lib/zendesk2/destroy_ticket.rb +3 -2
- data/lib/zendesk2/destroy_ticket_field.rb +3 -2
- data/lib/zendesk2/destroy_topic.rb +3 -2
- data/lib/zendesk2/destroy_topic_comment.rb +4 -3
- data/lib/zendesk2/destroy_user.rb +11 -10
- data/lib/zendesk2/destroy_user_field.rb +3 -2
- data/lib/zendesk2/destroy_user_identity.rb +4 -3
- data/lib/zendesk2/destroy_view.rb +3 -2
- data/lib/zendesk2/error.rb +1 -1
- data/lib/zendesk2/forum.rb +36 -18
- data/lib/zendesk2/forums.rb +4 -3
- data/lib/zendesk2/get_assignable_groups.rb +3 -2
- data/lib/zendesk2/get_categories.rb +2 -1
- data/lib/zendesk2/get_category.rb +3 -2
- data/lib/zendesk2/get_ccd_tickets.rb +4 -3
- data/lib/zendesk2/get_current_user.rb +3 -2
- data/lib/zendesk2/get_forum.rb +3 -2
- data/lib/zendesk2/get_forums.rb +2 -1
- data/lib/zendesk2/get_group.rb +3 -2
- data/lib/zendesk2/get_groups.rb +2 -1
- data/lib/zendesk2/get_membership.rb +3 -2
- data/lib/zendesk2/get_memberships.rb +3 -2
- data/lib/zendesk2/get_organization.rb +3 -2
- data/lib/zendesk2/get_organization_by_external_id.rb +8 -5
- data/lib/zendesk2/get_organization_memberships.rb +5 -2
- data/lib/zendesk2/get_organization_tickets.rb +7 -5
- data/lib/zendesk2/get_organization_users.rb +6 -5
- data/lib/zendesk2/get_organizations.rb +2 -1
- data/lib/zendesk2/get_requested_tickets.rb +5 -4
- data/lib/zendesk2/get_ticket.rb +3 -2
- data/lib/zendesk2/get_ticket_audit.rb +5 -4
- data/lib/zendesk2/get_ticket_audits.rb +4 -3
- data/lib/zendesk2/get_ticket_comments.rb +6 -5
- data/lib/zendesk2/get_ticket_field.rb +3 -2
- data/lib/zendesk2/get_ticket_fields.rb +2 -1
- data/lib/zendesk2/get_ticket_metric.rb +4 -3
- data/lib/zendesk2/get_ticket_metrics.rb +3 -2
- data/lib/zendesk2/get_tickets.rb +2 -1
- data/lib/zendesk2/get_topic.rb +3 -2
- data/lib/zendesk2/get_topic_comment.rb +4 -3
- data/lib/zendesk2/get_topic_comments.rb +5 -4
- data/lib/zendesk2/get_topics.rb +2 -1
- data/lib/zendesk2/get_user.rb +7 -7
- data/lib/zendesk2/get_user_field.rb +3 -2
- data/lib/zendesk2/get_user_fields.rb +3 -2
- data/lib/zendesk2/get_user_identities.rb +4 -3
- data/lib/zendesk2/get_user_identity.rb +4 -3
- data/lib/zendesk2/get_user_memberships.rb +4 -3
- data/lib/zendesk2/get_user_organizations.rb +5 -4
- data/lib/zendesk2/get_users.rb +3 -2
- data/lib/zendesk2/get_view.rb +3 -2
- data/lib/zendesk2/get_view_tickets.rb +19 -16
- data/lib/zendesk2/get_views.rb +2 -1
- data/lib/zendesk2/group.rb +6 -5
- data/lib/zendesk2/groups.rb +7 -6
- data/lib/zendesk2/help_center.rb +15 -0
- data/lib/zendesk2/help_center/access_policy.rb +3 -2
- data/lib/zendesk2/help_center/article.rb +10 -7
- data/lib/zendesk2/help_center/articles.rb +7 -7
- data/lib/zendesk2/help_center/categories.rb +3 -2
- data/lib/zendesk2/help_center/category.rb +8 -7
- data/lib/zendesk2/help_center/create_help_center_article.rb +31 -29
- data/lib/zendesk2/help_center/create_help_center_category.rb +17 -16
- data/lib/zendesk2/help_center/create_help_center_post.rb +37 -0
- data/lib/zendesk2/help_center/create_help_center_section.rb +32 -31
- data/lib/zendesk2/help_center/create_help_center_topic.rb +36 -0
- data/lib/zendesk2/help_center/create_help_center_translation.rb +15 -14
- data/lib/zendesk2/help_center/destroy_help_center_article.rb +3 -2
- data/lib/zendesk2/help_center/destroy_help_center_category.rb +3 -2
- data/lib/zendesk2/help_center/destroy_help_center_post.rb +15 -0
- data/lib/zendesk2/help_center/destroy_help_center_section.rb +3 -2
- data/lib/zendesk2/help_center/destroy_help_center_topic.rb +15 -0
- data/lib/zendesk2/help_center/destroy_help_center_translation.rb +2 -1
- data/lib/zendesk2/help_center/get_help_center_access_policy.rb +6 -5
- data/lib/zendesk2/help_center/get_help_center_article.rb +7 -9
- data/lib/zendesk2/help_center/get_help_center_articles.rb +3 -2
- data/lib/zendesk2/help_center/get_help_center_categories.rb +6 -2
- data/lib/zendesk2/help_center/get_help_center_categories_articles.rb +8 -7
- data/lib/zendesk2/help_center/get_help_center_categories_sections.rb +6 -5
- data/lib/zendesk2/help_center/get_help_center_category.rb +7 -9
- data/lib/zendesk2/help_center/get_help_center_post.rb +19 -0
- data/lib/zendesk2/help_center/get_help_center_posts.rb +28 -0
- data/lib/zendesk2/help_center/get_help_center_section.rb +8 -10
- data/lib/zendesk2/help_center/get_help_center_sections.rb +3 -2
- data/lib/zendesk2/help_center/get_help_center_sections_articles.rb +9 -8
- data/lib/zendesk2/help_center/get_help_center_topic.rb +14 -0
- data/lib/zendesk2/help_center/get_help_center_topics.rb +10 -0
- data/lib/zendesk2/help_center/get_help_center_translation.rb +5 -4
- data/lib/zendesk2/help_center/get_help_center_translations.rb +7 -6
- data/lib/zendesk2/help_center/post.rb +72 -0
- data/lib/zendesk2/help_center/posts.rb +18 -0
- data/lib/zendesk2/help_center/search_help_center_articles.rb +8 -7
- data/lib/zendesk2/help_center/section.rb +11 -11
- data/lib/zendesk2/help_center/sections.rb +7 -6
- data/lib/zendesk2/help_center/topic.rb +52 -0
- data/lib/zendesk2/help_center/topics.rb +13 -0
- data/lib/zendesk2/help_center/translation.rb +8 -5
- data/lib/zendesk2/help_center/translation_source.rb +16 -13
- data/lib/zendesk2/help_center/translations.rb +3 -2
- data/lib/zendesk2/help_center/update_help_center_access_policy.rb +8 -7
- data/lib/zendesk2/help_center/update_help_center_article.rb +9 -11
- data/lib/zendesk2/help_center/update_help_center_category.rb +9 -11
- data/lib/zendesk2/help_center/update_help_center_post.rb +20 -0
- data/lib/zendesk2/help_center/update_help_center_section.rb +9 -11
- data/lib/zendesk2/help_center/update_help_center_topic.rb +20 -0
- data/lib/zendesk2/help_center/update_help_center_translation.rb +4 -3
- data/lib/zendesk2/logger.rb +3 -2
- data/lib/zendesk2/mark_membership_default.rb +7 -6
- data/lib/zendesk2/mark_user_identity_primary.rb +7 -6
- data/lib/zendesk2/membership.rb +10 -8
- data/lib/zendesk2/memberships.rb +18 -12
- data/lib/zendesk2/mock.rb +39 -34
- data/lib/zendesk2/model.rb +14 -3
- data/lib/zendesk2/organization.rb +7 -7
- data/lib/zendesk2/organizations.rb +14 -12
- data/lib/zendesk2/paged_collection.rb +40 -36
- data/lib/zendesk2/rate_limit.rb +4 -3
- data/lib/zendesk2/real.rb +25 -22
- data/lib/zendesk2/request.rb +78 -82
- data/lib/zendesk2/search.rb +8 -7
- data/lib/zendesk2/search_organization.rb +14 -14
- data/lib/zendesk2/search_user.rb +41 -37
- data/lib/zendesk2/searchable.rb +36 -26
- data/lib/zendesk2/ticket.rb +20 -18
- data/lib/zendesk2/ticket_audit.rb +5 -4
- data/lib/zendesk2/ticket_audits.rb +10 -11
- data/lib/zendesk2/ticket_change.rb +10 -11
- data/lib/zendesk2/ticket_comment.rb +2 -1
- data/lib/zendesk2/ticket_comment_privacy_change.rb +12 -14
- data/lib/zendesk2/ticket_comments.rb +7 -6
- data/lib/zendesk2/ticket_create.rb +8 -9
- data/lib/zendesk2/ticket_field.rb +5 -4
- data/lib/zendesk2/ticket_fields.rb +4 -3
- data/lib/zendesk2/ticket_metric.rb +2 -2
- data/lib/zendesk2/ticket_metrics.rb +3 -2
- data/lib/zendesk2/ticket_notification.rb +12 -13
- data/lib/zendesk2/ticket_voice_comment.rb +28 -29
- data/lib/zendesk2/tickets.rb +8 -7
- data/lib/zendesk2/topic.rb +49 -22
- data/lib/zendesk2/topic_comment.rb +12 -9
- data/lib/zendesk2/topic_comments.rb +4 -3
- data/lib/zendesk2/topics.rb +4 -3
- data/lib/zendesk2/update_category.rb +8 -6
- data/lib/zendesk2/update_forum.rb +5 -4
- data/lib/zendesk2/update_group.rb +5 -4
- data/lib/zendesk2/update_organization.rb +18 -9
- data/lib/zendesk2/update_request.rb +6 -5
- data/lib/zendesk2/update_ticket.rb +39 -38
- data/lib/zendesk2/update_ticket_field.rb +5 -4
- data/lib/zendesk2/update_topic.rb +5 -4
- data/lib/zendesk2/update_user.rb +39 -31
- data/lib/zendesk2/update_user_field.rb +4 -3
- data/lib/zendesk2/update_user_identity.rb +7 -6
- data/lib/zendesk2/update_view.rb +38 -34
- data/lib/zendesk2/user.rb +41 -37
- data/lib/zendesk2/user_field.rb +9 -6
- data/lib/zendesk2/user_fields.rb +4 -3
- data/lib/zendesk2/user_identities.rb +4 -3
- data/lib/zendesk2/user_identity.rb +12 -9
- data/lib/zendesk2/users.rb +5 -4
- data/lib/zendesk2/version.rb +2 -1
- data/lib/zendesk2/view.rb +24 -13
- data/lib/zendesk2/views.rb +3 -2
- data/spec/categories_spec.rb +63 -60
- data/spec/client_spec.rb +6 -5
- data/spec/forums_spec.rb +64 -61
- data/spec/groups_spec.rb +7 -8
- data/spec/help_center/articles_spec.rb +22 -26
- data/spec/help_center/categories_spec.rb +26 -27
- data/spec/help_center/posts_spec.rb +39 -0
- data/spec/help_center/sections_spec.rb +32 -33
- data/spec/help_center/topics_spec.rb +13 -0
- data/spec/lib/paged_collection_spec.rb +11 -11
- data/spec/lib/rate_limit_spec.rb +9 -8
- data/spec/memberships_spec.rb +38 -27
- data/spec/organizations_spec.rb +92 -87
- data/spec/shared/zendesk_resource.rb +40 -25
- data/spec/spec_helper.rb +8 -13
- data/spec/support/client_helper.rb +5 -4
- data/spec/support/data_helper.rb +1 -0
- data/spec/ticket_fields_spec.rb +6 -7
- data/spec/tickets_spec.rb +69 -58
- data/spec/topic_comments_spec.rb +7 -8
- data/spec/topics_spec.rb +5 -6
- data/spec/user_fields_spec.rb +7 -7
- data/spec/user_identities_spec.rb +29 -25
- data/spec/users_spec.rb +88 -78
- data/spec/views_spec.rb +45 -34
- data/spec/zendesk2_spec.rb +3 -2
- data/zendesk2.gemspec +15 -14
- metadata +21 -2
@@ -1,10 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetCurrentUser
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
4
5
|
request_method :get
|
5
|
-
request_path { |_|
|
6
|
+
request_path { |_| '/users/me.json' }
|
6
7
|
|
7
8
|
def mock
|
8
|
-
cistern.get_user(
|
9
|
+
cistern.get_user('user' => { 'id' => cistern.current_user.fetch('id') })
|
9
10
|
end
|
10
11
|
end
|
data/lib/zendesk2/get_forum.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetForum
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -5,12 +6,12 @@ class Zendesk2::GetForum
|
|
5
6
|
request_path { |r| "/forums/#{r.forum_id}.json" }
|
6
7
|
|
7
8
|
def forum_id
|
8
|
-
params.fetch(
|
9
|
+
params.fetch('forum').fetch('id')
|
9
10
|
end
|
10
11
|
|
11
12
|
def mock
|
12
13
|
mock_response(
|
13
|
-
|
14
|
+
'forum' => find!(:forums, forum_id)
|
14
15
|
)
|
15
16
|
end
|
16
17
|
end
|
data/lib/zendesk2/get_forums.rb
CHANGED
data/lib/zendesk2/get_group.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetGroup
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -5,10 +6,10 @@ class Zendesk2::GetGroup
|
|
5
6
|
request_path { |r| "/groups/#{r.group_id}.json" }
|
6
7
|
|
7
8
|
def group_id
|
8
|
-
@_group_id ||= params.fetch(
|
9
|
+
@_group_id ||= params.fetch('group').fetch('id')
|
9
10
|
end
|
10
11
|
|
11
12
|
def mock
|
12
|
-
mock_response(
|
13
|
+
mock_response('group' => find!(:groups, group_id))
|
13
14
|
end
|
14
15
|
end
|
data/lib/zendesk2/get_groups.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetMembership
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -5,10 +6,10 @@ class Zendesk2::GetMembership
|
|
5
6
|
request_path { |r| "/organization_memberships/#{r.membership_id}.json" }
|
6
7
|
|
7
8
|
def membership_id
|
8
|
-
params.fetch(
|
9
|
+
params.fetch('organization_membership').fetch('id')
|
9
10
|
end
|
10
11
|
|
11
12
|
def mock
|
12
|
-
mock_response(
|
13
|
+
mock_response('organization_membership' => find!(:memberships, membership_id))
|
13
14
|
end
|
14
15
|
end
|
@@ -1,12 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetMemberships
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
4
5
|
request_method :get
|
5
|
-
request_path { |
|
6
|
+
request_path { |_r| '/organization_memberships.json' }
|
6
7
|
|
7
8
|
page_params!
|
8
9
|
|
9
10
|
def mock
|
10
|
-
page(
|
11
|
+
page(data[:memberships].values, root: 'organization_memberships')
|
11
12
|
end
|
12
13
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetOrganization
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -5,10 +6,10 @@ class Zendesk2::GetOrganization
|
|
5
6
|
request_path { |r| "/organizations/#{r.organization_id}.json" }
|
6
7
|
|
7
8
|
def organization_id
|
8
|
-
params.fetch(
|
9
|
+
params.fetch('organization').fetch('id').to_i
|
9
10
|
end
|
10
11
|
|
11
12
|
def mock
|
12
|
-
mock_response(
|
13
|
+
mock_response('organization' => find!(:organizations, organization_id))
|
13
14
|
end
|
14
15
|
end
|
@@ -1,17 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetOrganizationByExternalId
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
4
5
|
request_method :get
|
5
|
-
request_params { |r| {
|
6
|
-
request_path { |_|
|
6
|
+
request_params { |r| { 'external_id' => r.external_id } }
|
7
|
+
request_path { |_| '/organizations/search.json' }
|
7
8
|
|
8
9
|
def external_id
|
9
|
-
params.fetch(
|
10
|
+
params.fetch('external_id')
|
10
11
|
end
|
11
12
|
|
12
13
|
def mock
|
13
|
-
results =
|
14
|
+
results = data[:organizations].select do |_k, v|
|
15
|
+
v['external_id'].to_s.casecmp(external_id.to_s.downcase).zero?
|
16
|
+
end.values
|
14
17
|
|
15
|
-
mock_response(
|
18
|
+
mock_response('organizations' => results)
|
16
19
|
end
|
17
20
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetOrganizationMemberships
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -7,10 +8,12 @@ class Zendesk2::GetOrganizationMemberships
|
|
7
8
|
page_params!
|
8
9
|
|
9
10
|
def organization_id
|
10
|
-
params.fetch(
|
11
|
+
params.fetch('membership').fetch('organization_id').to_i
|
11
12
|
end
|
12
13
|
|
13
14
|
def mock
|
14
|
-
|
15
|
+
collection = data[:memberships].values.select { |m| m['organization_id'] == organization_id }
|
16
|
+
|
17
|
+
page(collection, root: 'organization_memberships')
|
15
18
|
end
|
16
19
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetOrganizationTickets
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -7,14 +8,15 @@ class Zendesk2::GetOrganizationTickets
|
|
7
8
|
page_params!
|
8
9
|
|
9
10
|
def organization_id
|
10
|
-
params.fetch(
|
11
|
+
params.fetch('organization_id').to_i
|
11
12
|
end
|
12
13
|
|
13
|
-
def mock(
|
14
|
-
|
14
|
+
def mock(_params = {})
|
15
|
+
organizations = data[:users].values.select { |u| u['organization_id'] == organization_id }
|
16
|
+
requesters = organizations.map { |s| s['organization_id'] }
|
15
17
|
|
16
|
-
tickets =
|
18
|
+
tickets = data[:tickets].values.select { |t| requesters.include?(t['organization_id']) }
|
17
19
|
|
18
|
-
page(tickets, root:
|
20
|
+
page(tickets, root: 'tickets')
|
19
21
|
end
|
20
22
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetOrganizationUsers
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -7,14 +8,14 @@ class Zendesk2::GetOrganizationUsers
|
|
7
8
|
page_params!
|
8
9
|
|
9
10
|
def organization_id
|
10
|
-
params.fetch(
|
11
|
+
params.fetch('organization').fetch('id').to_i
|
11
12
|
end
|
12
13
|
|
13
14
|
def mock
|
14
|
-
users =
|
15
|
-
|
16
|
-
|
15
|
+
users = data[:memberships].values
|
16
|
+
.select { |m| m['organization_id'] == organization_id }
|
17
|
+
.map { |m| data[:users].fetch(m['user_id']) }
|
17
18
|
|
18
|
-
page(users, root:
|
19
|
+
page(users, root: 'users')
|
19
20
|
end
|
20
21
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetRequestedTickets
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -7,12 +8,12 @@ class Zendesk2::GetRequestedTickets
|
|
7
8
|
page_params!
|
8
9
|
|
9
10
|
def requester_id
|
10
|
-
params.fetch(
|
11
|
+
params.fetch('requester_id').to_i
|
11
12
|
end
|
12
13
|
|
13
|
-
def mock(
|
14
|
-
tickets =
|
14
|
+
def mock(_params = {})
|
15
|
+
tickets = data[:tickets].values.select { |u| u['requester_id'] == requester_id }
|
15
16
|
|
16
|
-
page(tickets, root:
|
17
|
+
page(tickets, root: 'tickets')
|
17
18
|
end
|
18
19
|
end
|
data/lib/zendesk2/get_ticket.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetTicket
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -5,10 +6,10 @@ class Zendesk2::GetTicket
|
|
5
6
|
request_path { |r| "/tickets/#{r.ticket_id}.json" }
|
6
7
|
|
7
8
|
def ticket_id
|
8
|
-
params.fetch(
|
9
|
+
params.fetch('ticket').fetch('id')
|
9
10
|
end
|
10
11
|
|
11
12
|
def mock
|
12
|
-
mock_response(
|
13
|
+
mock_response('ticket' => find!(:tickets, ticket_id))
|
13
14
|
end
|
14
15
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetTicketAudit
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -5,14 +6,14 @@ class Zendesk2::GetTicketAudit
|
|
5
6
|
request_path { |r| "/tickets/#{r.ticket_id}/audits/#{r.audit_id}.json" }
|
6
7
|
|
7
8
|
def audit_id
|
8
|
-
params.fetch(
|
9
|
+
params.fetch('id')
|
9
10
|
end
|
10
11
|
|
11
12
|
def ticket_id
|
12
|
-
params.fetch(
|
13
|
+
params.fetch('ticket_id')
|
13
14
|
end
|
14
15
|
|
15
|
-
def mock(
|
16
|
-
mock_response(
|
16
|
+
def mock(_params = {})
|
17
|
+
mock_response('ticket_audit' => find!(:ticket_audits, audit_id))
|
17
18
|
end
|
18
19
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetTicketAudits
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -7,12 +8,12 @@ class Zendesk2::GetTicketAudits
|
|
7
8
|
page_params!
|
8
9
|
|
9
10
|
def ticket_id
|
10
|
-
params.fetch(
|
11
|
+
params.fetch('ticket_id').to_i
|
11
12
|
end
|
12
13
|
|
13
14
|
def mock
|
14
|
-
audits =
|
15
|
+
audits = data[:ticket_audits].values.select { |a| a['ticket_id'] == ticket_id }
|
15
16
|
|
16
|
-
page(audits, root:
|
17
|
+
page(audits, root: 'audits')
|
17
18
|
end
|
18
19
|
end
|
@@ -1,16 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetTicketComments
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
4
5
|
request_method :get
|
5
|
-
request_path { |r|
|
6
|
+
request_path { |r| "/tickets/#{r.ticket_id}/comments.json" }
|
6
7
|
|
7
8
|
def ticket_id
|
8
|
-
params.fetch(
|
9
|
+
params.fetch('ticket_id').to_i
|
9
10
|
end
|
10
11
|
|
11
|
-
def mock(
|
12
|
-
comments =
|
12
|
+
def mock(_params = {})
|
13
|
+
comments = data[:ticket_comments].values.select { |comment| comment['ticket_id'] == ticket_id }
|
13
14
|
|
14
|
-
page(comments, root:
|
15
|
+
page(comments, root: 'comments')
|
15
16
|
end
|
16
17
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetTicketField
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -5,10 +6,10 @@ class Zendesk2::GetTicketField
|
|
5
6
|
request_path { |r| "/ticket_fields/#{r.ticket_field_id}.json" }
|
6
7
|
|
7
8
|
def ticket_field_id
|
8
|
-
params.fetch(
|
9
|
+
params.fetch('ticket_field').fetch('id').to_i
|
9
10
|
end
|
10
11
|
|
11
12
|
def mock
|
12
|
-
mock_response(
|
13
|
+
mock_response('ticket_field' => find!(:ticket_fields, ticket_field_id))
|
13
14
|
end
|
14
15
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetTicketMetric
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
@@ -7,16 +8,16 @@ class Zendesk2::GetTicketMetric
|
|
7
8
|
end
|
8
9
|
|
9
10
|
def metric_id
|
10
|
-
params[
|
11
|
+
params['id']
|
11
12
|
end
|
12
13
|
|
13
14
|
def ticket_id
|
14
|
-
params.fetch(
|
15
|
+
params.fetch('ticket_id')
|
15
16
|
end
|
16
17
|
|
17
18
|
def mock
|
18
19
|
mock_response(
|
19
|
-
|
20
|
+
'ticket_metric' => find!(:ticket_metrics, metric_id)
|
20
21
|
)
|
21
22
|
end
|
22
23
|
end
|
@@ -1,12 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetTicketMetrics
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
4
5
|
request_method :get
|
5
|
-
request_path {
|
6
|
+
request_path { '/ticket_metrics.json' }
|
6
7
|
|
7
8
|
page_params!
|
8
9
|
|
9
10
|
def mock
|
10
|
-
page(:ticket_metrics, root:
|
11
|
+
page(:ticket_metrics, root: 'metrics')
|
11
12
|
end
|
12
13
|
end
|
data/lib/zendesk2/get_tickets.rb
CHANGED
data/lib/zendesk2/get_topic.rb
CHANGED
@@ -1,13 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
class Zendesk2::GetTopic
|
2
3
|
include Zendesk2::Request
|
3
4
|
|
4
5
|
request_path { |r| "/topics/#{r.topic_id}.json" }
|
5
6
|
|
6
7
|
def topic_id
|
7
|
-
params.fetch(
|
8
|
+
params.fetch('topic').fetch('id')
|
8
9
|
end
|
9
10
|
|
10
11
|
def mock
|
11
|
-
mock_response(
|
12
|
+
mock_response('topic' => find!(:topics, topic_id))
|
12
13
|
end
|
13
14
|
end
|