zendesk2 1.8.1 → 1.9.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -1
- data/lib/zendesk2/attributes.rb +1 -1
- data/lib/zendesk2/audit_event.rb +1 -1
- data/lib/zendesk2/category.rb +3 -3
- data/lib/zendesk2/collection.rb +2 -2
- data/lib/zendesk2/create_category.rb +2 -2
- data/lib/zendesk2/create_forum.rb +2 -2
- data/lib/zendesk2/create_group.rb +1 -1
- data/lib/zendesk2/create_membership.rb +1 -1
- data/lib/zendesk2/create_organization.rb +1 -1
- data/lib/zendesk2/create_ticket.rb +9 -9
- data/lib/zendesk2/create_ticket_field.rb +1 -1
- data/lib/zendesk2/create_topic.rb +1 -1
- data/lib/zendesk2/create_topic_comment.rb +1 -1
- data/lib/zendesk2/create_user.rb +3 -3
- data/lib/zendesk2/create_user_field.rb +2 -2
- data/lib/zendesk2/create_user_identity.rb +4 -4
- data/lib/zendesk2/create_view.rb +2 -2
- data/lib/zendesk2/destroy_user.rb +2 -2
- data/lib/zendesk2/forum.rb +3 -3
- data/lib/zendesk2/get_assignable_groups.rb +1 -1
- data/lib/zendesk2/get_ccd_tickets.rb +1 -1
- data/lib/zendesk2/get_current_user.rb +1 -1
- data/lib/zendesk2/get_user_identities.rb +1 -1
- data/lib/zendesk2/group.rb +3 -3
- data/lib/zendesk2/groups.rb +2 -2
- data/lib/zendesk2/help_center.rb +9 -0
- data/lib/zendesk2/help_center/access_policy.rb +1 -1
- data/lib/zendesk2/help_center/article.rb +9 -3
- data/lib/zendesk2/help_center/articles.rb +1 -1
- data/lib/zendesk2/help_center/category.rb +11 -5
- data/lib/zendesk2/help_center/create_help_center_article.rb +2 -2
- data/lib/zendesk2/help_center/create_help_center_category.rb +2 -2
- data/lib/zendesk2/help_center/create_help_center_section.rb +4 -4
- data/lib/zendesk2/help_center/create_help_center_translation.rb +37 -0
- data/lib/zendesk2/help_center/destroy_help_center_translation.rb +13 -0
- data/lib/zendesk2/help_center/get_help_center_translation.rb +13 -0
- data/lib/zendesk2/help_center/get_help_center_translations.rb +25 -0
- data/lib/zendesk2/help_center/section.rb +12 -6
- data/lib/zendesk2/help_center/sections.rb +1 -1
- data/lib/zendesk2/help_center/translation.rb +48 -0
- data/lib/zendesk2/help_center/translation_source.rb +45 -0
- data/lib/zendesk2/help_center/translations.rb +29 -0
- data/lib/zendesk2/help_center/update_help_center_translation.rb +16 -0
- data/lib/zendesk2/mark_user_identity_primary.rb +1 -1
- data/lib/zendesk2/membership.rb +3 -3
- data/lib/zendesk2/memberships.rb +3 -3
- data/lib/zendesk2/mock.rb +2 -1
- data/lib/zendesk2/organization.rb +8 -8
- data/lib/zendesk2/organizations.rb +2 -2
- data/lib/zendesk2/paged_collection.rb +3 -3
- data/lib/zendesk2/real.rb +6 -6
- data/lib/zendesk2/request.rb +9 -9
- data/lib/zendesk2/search.rb +2 -2
- data/lib/zendesk2/searchable.rb +1 -1
- data/lib/zendesk2/ticket.rb +9 -9
- data/lib/zendesk2/ticket_audit.rb +2 -2
- data/lib/zendesk2/ticket_audits.rb +3 -3
- data/lib/zendesk2/ticket_comment.rb +1 -1
- data/lib/zendesk2/ticket_comment_privacy_change.rb +1 -1
- data/lib/zendesk2/ticket_comments.rb +2 -2
- data/lib/zendesk2/ticket_field.rb +3 -3
- data/lib/zendesk2/ticket_metric.rb +1 -1
- data/lib/zendesk2/ticket_voice_comment.rb +1 -1
- data/lib/zendesk2/tickets.rb +1 -1
- data/lib/zendesk2/topic.rb +3 -3
- data/lib/zendesk2/topic_comment.rb +4 -4
- data/lib/zendesk2/update_organization.rb +1 -1
- data/lib/zendesk2/update_ticket.rb +5 -5
- data/lib/zendesk2/update_user.rb +4 -4
- data/lib/zendesk2/user.rb +13 -13
- data/lib/zendesk2/user_field.rb +3 -3
- data/lib/zendesk2/user_identity.rb +5 -5
- data/lib/zendesk2/users.rb +1 -1
- data/lib/zendesk2/version.rb +1 -1
- data/lib/zendesk2/view.rb +4 -4
- data/spec/help_center/articles_spec.rb +18 -0
- data/spec/help_center/categories_spec.rb +13 -0
- data/spec/help_center/sections_spec.rb +14 -1
- data/spec/support/client_helper.rb +0 -1
- metadata +10 -2
@@ -0,0 +1,29 @@
|
|
1
|
+
class Zendesk2::HelpCenter::Translations
|
2
|
+
include Zendesk2::Collection
|
3
|
+
|
4
|
+
include Zendesk2::PagedCollection
|
5
|
+
include Zendesk2::Searchable
|
6
|
+
|
7
|
+
model Zendesk2::HelpCenter::Translation
|
8
|
+
|
9
|
+
self.collection_method = :get_help_center_translations
|
10
|
+
self.collection_root = "translations"
|
11
|
+
self.model_method = :get_help_center_translation
|
12
|
+
self.model_root = "translation"
|
13
|
+
|
14
|
+
attribute :source_id, type: :integer
|
15
|
+
attribute :source_type, type: :string
|
16
|
+
attribute :locale, type: :string
|
17
|
+
attribute :locales, type: :array
|
18
|
+
attribute :outdated, type: :boolean
|
19
|
+
attribute :draft, type: :boolean
|
20
|
+
|
21
|
+
scopes << :source_id
|
22
|
+
scopes << :source_type
|
23
|
+
|
24
|
+
scopes << :locale
|
25
|
+
scopes << :locales
|
26
|
+
|
27
|
+
scopes << :outdated
|
28
|
+
scopes << :draft
|
29
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class Zendesk2::UpdateHelpCenterTranslation
|
2
|
+
include Zendesk2::Request
|
3
|
+
include Zendesk2::HelpCenter::TranslationSource::Request
|
4
|
+
|
5
|
+
request_method :put
|
6
|
+
request_body { |r| { "translation" => r.translation_params } }
|
7
|
+
request_path { |r| "/help_center/#{r.source_type_url}/#{r.source_id}/translations/#{r.locale}.json" }
|
8
|
+
|
9
|
+
def translation_params
|
10
|
+
@_translation_params ||= Cistern::Hash.slice(params.fetch("translation"), *Zendesk2::CreateHelpCenterTranslation.accepted_attributes)
|
11
|
+
end
|
12
|
+
|
13
|
+
def mock
|
14
|
+
mock_response("translation" => self.find!(:help_center_translations, mock_translation_key).merge!(translation_params))
|
15
|
+
end
|
16
|
+
end
|
@@ -16,7 +16,7 @@ class Zendesk2::MarkUserIdentityPrimary
|
|
16
16
|
user_identity = self.find!(:identities, user_identity_id)
|
17
17
|
|
18
18
|
# only one user can be primary
|
19
|
-
other_user_identities =
|
19
|
+
other_user_identities = cistern.data[:identities].values.select { |i| i["user_id"] == user_id }
|
20
20
|
other_user_identities.map { |i| i["primary"] = false }
|
21
21
|
|
22
22
|
user_identity.merge!("primary" => true)
|
data/lib/zendesk2/membership.rb
CHANGED
@@ -26,7 +26,7 @@ class Zendesk2::Membership
|
|
26
26
|
data = if new_record?
|
27
27
|
requires :organization_id, :user_id
|
28
28
|
|
29
|
-
|
29
|
+
cistern.create_membership("membership" => self.attributes).body["organization_membership"]
|
30
30
|
else
|
31
31
|
requires :identity
|
32
32
|
|
@@ -39,13 +39,13 @@ class Zendesk2::Membership
|
|
39
39
|
def destroy!
|
40
40
|
requires :identity
|
41
41
|
|
42
|
-
|
42
|
+
cistern.destroy_membership("membership" => { "id" => self.identity })
|
43
43
|
end
|
44
44
|
|
45
45
|
def default!
|
46
46
|
requires :identity, :user_id
|
47
47
|
|
48
|
-
self.
|
48
|
+
self.cistern.mark_membership_default(
|
49
49
|
"membership" => {
|
50
50
|
"user_id" => self.user_id,
|
51
51
|
"id" => self.identity
|
data/lib/zendesk2/memberships.rb
CHANGED
@@ -22,13 +22,13 @@ class Zendesk2::Memberships
|
|
22
22
|
body = if self.user_id && self.organization_id
|
23
23
|
{
|
24
24
|
"organization_memberships" => [
|
25
|
-
|
25
|
+
cistern.get_membership("user_id" => self.user_id, "organization_id" => self.organization_id).body["organization_membership"]
|
26
26
|
]
|
27
27
|
}
|
28
28
|
elsif self.user_id
|
29
|
-
|
29
|
+
cistern.get_user_memberships({"membership" => { "user_id" => self.user_id }}.merge(params)).body
|
30
30
|
else
|
31
|
-
|
31
|
+
cistern.get_organization_memberships({"membership" => { "organization_id" => self.organization_id }}.merge(params)).body
|
32
32
|
end
|
33
33
|
|
34
34
|
self.load(body[collection_root])
|
data/lib/zendesk2/mock.rb
CHANGED
@@ -7,10 +7,11 @@ class Zendesk2::Mock
|
|
7
7
|
:categories => {},
|
8
8
|
:forums => {},
|
9
9
|
:groups => {},
|
10
|
+
:help_center_access_policies => {},
|
10
11
|
:help_center_articles => {},
|
11
12
|
:help_center_categories => {},
|
12
13
|
:help_center_sections => {},
|
13
|
-
:
|
14
|
+
:help_center_translations => {},
|
14
15
|
:identities => {},
|
15
16
|
:memberships => {},
|
16
17
|
:organizations => {},
|
@@ -35,18 +35,18 @@ class Zendesk2::Organization
|
|
35
35
|
def destroy!
|
36
36
|
requires :identity
|
37
37
|
|
38
|
-
|
38
|
+
cistern.destroy_organization("organization" => {"id" => self.identity})
|
39
39
|
end
|
40
40
|
|
41
41
|
def save!
|
42
42
|
data = if new_record?
|
43
43
|
requires :name
|
44
44
|
|
45
|
-
|
45
|
+
cistern.create_organization("organization" => self.attributes)
|
46
46
|
else
|
47
47
|
requires :identity
|
48
48
|
|
49
|
-
|
49
|
+
cistern.update_organization("organization" => self.attributes)
|
50
50
|
end.body["organization"]
|
51
51
|
|
52
52
|
merge_attributes(data)
|
@@ -56,8 +56,8 @@ class Zendesk2::Organization
|
|
56
56
|
def users
|
57
57
|
requires :identity
|
58
58
|
|
59
|
-
|
60
|
-
|
59
|
+
cistern.users.load(
|
60
|
+
cistern.get_organization_users("organization" => {"id" => self.identity}).body["users"]
|
61
61
|
)
|
62
62
|
end
|
63
63
|
|
@@ -65,15 +65,15 @@ class Zendesk2::Organization
|
|
65
65
|
def memberships
|
66
66
|
requires :identity
|
67
67
|
|
68
|
-
|
68
|
+
cistern.memberships(organization: self)
|
69
69
|
end
|
70
70
|
|
71
71
|
# @return [Zendesk2::Tickets] tickets associated with this organization
|
72
72
|
def tickets
|
73
73
|
requires :identity
|
74
74
|
|
75
|
-
|
76
|
-
|
75
|
+
cistern.tickets.load(
|
76
|
+
cistern.get_organization_tickets("organization_id" => self.identity).body["tickets"]
|
77
77
|
)
|
78
78
|
end
|
79
79
|
end
|
@@ -12,7 +12,7 @@ class Zendesk2::Organizations
|
|
12
12
|
assoc_accessor :user
|
13
13
|
|
14
14
|
def find_by_external_id(external_id)
|
15
|
-
body =
|
15
|
+
body = cistern.get_organization_by_external_id("external_id" => external_id).body
|
16
16
|
if data = body.delete("organizations")
|
17
17
|
collection = self.clone.load(data)
|
18
18
|
collection.merge_attributes(Cistern::Hash.slice(body, "count", "next_page", "previous_page"))
|
@@ -34,7 +34,7 @@ class Zendesk2::Organizations
|
|
34
34
|
:get_organizations
|
35
35
|
end
|
36
36
|
|
37
|
-
body =
|
37
|
+
body = cistern.send(collection_method, Cistern::Hash.stringify_keys(self.attributes.merge(params))).body
|
38
38
|
|
39
39
|
self.load(body[collection_root])
|
40
40
|
self.merge_attributes(Cistern::Hash.slice(body, "count", "next_page", "previous_page"))
|
@@ -21,7 +21,7 @@ module Zendesk2::PagedCollection
|
|
21
21
|
def model_root; self.class.model_root; end
|
22
22
|
|
23
23
|
def new_page
|
24
|
-
page = self.class.new(
|
24
|
+
page = self.class.new(cistern: self.cistern)
|
25
25
|
page.merge_attributes(self.class.scopes.inject({}){|r,k| r.merge(k.to_s => send(k))})
|
26
26
|
page
|
27
27
|
end
|
@@ -129,7 +129,7 @@ module Zendesk2::PagedCollection
|
|
129
129
|
|
130
130
|
scoped_attributes = { model_root => scoped_attributes }
|
131
131
|
|
132
|
-
if data = self.
|
132
|
+
if data = self.cistern.send(model_method, scoped_attributes).body[self.model_root]
|
133
133
|
new(data)
|
134
134
|
end
|
135
135
|
end
|
@@ -159,7 +159,7 @@ module Zendesk2::PagedCollection
|
|
159
159
|
|
160
160
|
def collection_page(params)
|
161
161
|
scoped_attributes = self.class.scopes.inject({}) { |r, k| r.merge(k.to_s => send(k)) }.merge(params)
|
162
|
-
body =
|
162
|
+
body = cistern.send(collection_method, scoped_attributes).body
|
163
163
|
|
164
164
|
self.load(body[collection_root]) # 'results' is the key for paged seraches
|
165
165
|
self.merge_attributes(Cistern::Hash.slice(body, "count", "next_page", "previous_page"))
|
data/lib/zendesk2/real.rb
CHANGED
@@ -13,19 +13,19 @@ class Zendesk2::Real
|
|
13
13
|
@token = options.fetch(:token, Zendesk2.defaults[:token])
|
14
14
|
password = options[:password] || Zendesk2.defaults[:password]
|
15
15
|
|
16
|
-
|
16
|
+
cistern_options = options[:cistern_options] || {}
|
17
17
|
|
18
18
|
@auth_token = password || @token
|
19
|
-
@
|
19
|
+
@auth_id = "#{@username}/token" if @auth_token == @token
|
20
20
|
@jwt_token = options[:jwt_token]
|
21
21
|
|
22
22
|
raise "Missing required options: :url" unless @url
|
23
|
-
raise "Missing required options: :username" unless @
|
23
|
+
raise "Missing required options: :username" unless @auth_id
|
24
24
|
raise "Missing required options: :password or :token" unless password || @token
|
25
25
|
|
26
|
-
@
|
26
|
+
@cistern = Faraday.new({url: @url}.merge(cistern_options)) do |connection|
|
27
27
|
# response
|
28
|
-
connection.use Faraday::Request::BasicAuthentication, @
|
28
|
+
connection.use Faraday::Request::BasicAuthentication, @auth_id, @auth_token
|
29
29
|
connection.use Faraday::Response::RaiseError
|
30
30
|
connection.response :json, content_type: /\bjson/
|
31
31
|
|
@@ -55,7 +55,7 @@ class Zendesk2::Real
|
|
55
55
|
body = options[:body]
|
56
56
|
headers = { "User-Agent" => Zendesk2::USER_AGENT }.merge(options[:headers] || {})
|
57
57
|
|
58
|
-
@
|
58
|
+
@cistern.send(method) do |req|
|
59
59
|
req.url(url)
|
60
60
|
req.headers.merge!(headers)
|
61
61
|
req.params.merge!(params)
|
data/lib/zendesk2/request.rb
CHANGED
@@ -114,16 +114,16 @@ module Zendesk2::Request
|
|
114
114
|
end
|
115
115
|
|
116
116
|
def data
|
117
|
-
self.
|
117
|
+
self.cistern.data
|
118
118
|
end
|
119
119
|
|
120
120
|
def html_url_for(path)
|
121
|
-
File.join(
|
121
|
+
File.join(cistern.url, path.to_s)
|
122
122
|
end
|
123
123
|
|
124
124
|
def url_for(path, options={})
|
125
125
|
URI.parse(
|
126
|
-
File.join(
|
126
|
+
File.join(cistern.url, "/api/v2", path.to_s)
|
127
127
|
).tap do |uri|
|
128
128
|
if query = options[:query]
|
129
129
|
uri.query = Faraday::NestedParamsEncoder.encode(query)
|
@@ -132,7 +132,7 @@ module Zendesk2::Request
|
|
132
132
|
end
|
133
133
|
|
134
134
|
def real(params={})
|
135
|
-
|
135
|
+
cistern.request(:method => self.class.request_method,
|
136
136
|
:path => self.request_path,
|
137
137
|
:body => self.request_body,
|
138
138
|
:url => params["url"],
|
@@ -161,7 +161,7 @@ module Zendesk2::Request
|
|
161
161
|
end
|
162
162
|
|
163
163
|
def find!(collection, identity, options={})
|
164
|
-
if resource = self.
|
164
|
+
if resource = self.cistern.data[collection][identity.to_i]
|
165
165
|
resource
|
166
166
|
else
|
167
167
|
error!(options[:error] || :not_found, options)
|
@@ -169,7 +169,7 @@ module Zendesk2::Request
|
|
169
169
|
end
|
170
170
|
|
171
171
|
def delete!(collection, identity, options={})
|
172
|
-
self.
|
172
|
+
self.cistern.data[collection].delete(identity.to_i) ||
|
173
173
|
error!(options[:error] || :not_found, options)
|
174
174
|
end
|
175
175
|
|
@@ -185,7 +185,7 @@ module Zendesk2::Request
|
|
185
185
|
end
|
186
186
|
|
187
187
|
def resources(collection, options={})
|
188
|
-
page = collection.is_a?(Array) ? collection :
|
188
|
+
page = collection.is_a?(Array) ? collection : cistern.data[collection.to_sym].values
|
189
189
|
root = options.fetch(:root) { !collection.is_a?(Array) && collection.to_s }
|
190
190
|
|
191
191
|
mock_response(
|
@@ -205,7 +205,7 @@ module Zendesk2::Request
|
|
205
205
|
|
206
206
|
offset = (page_index - 1) * page_size
|
207
207
|
|
208
|
-
resources = collection.is_a?(Array) ? collection :
|
208
|
+
resources = collection.is_a?(Array) ? collection : cistern.data[collection.to_sym].values
|
209
209
|
count = resources.size
|
210
210
|
total_pages = (count / page_size) + 1
|
211
211
|
|
@@ -249,7 +249,7 @@ module Zendesk2::Request
|
|
249
249
|
body = options[:response_body] || options[:body]
|
250
250
|
method = options[:method] || :get
|
251
251
|
params = options[:params]
|
252
|
-
|
252
|
+
cistern.last_request = options[:request_body]
|
253
253
|
status = options[:status] || 200
|
254
254
|
|
255
255
|
path = options[:path]
|
data/lib/zendesk2/search.rb
CHANGED
@@ -26,9 +26,9 @@ class Zendesk2::Search
|
|
26
26
|
type = terms.delete("type")
|
27
27
|
|
28
28
|
collection = if type.nil?
|
29
|
-
|
29
|
+
cistern.data.values
|
30
30
|
else
|
31
|
-
|
31
|
+
cistern.data[pluralize(type).to_sym]
|
32
32
|
end
|
33
33
|
|
34
34
|
results = collection.values.select { |v| terms.all?{ |term, condition| v[term].to_s == condition.to_s } }
|
data/lib/zendesk2/searchable.rb
CHANGED
data/lib/zendesk2/ticket.rb
CHANGED
@@ -73,11 +73,11 @@ class Zendesk2::Ticket
|
|
73
73
|
create_attributes.merge!("requester" => with_requester)
|
74
74
|
end
|
75
75
|
|
76
|
-
|
76
|
+
cistern.create_ticket("ticket" => create_attributes).body["ticket"]
|
77
77
|
else
|
78
78
|
requires :identity
|
79
79
|
|
80
|
-
|
80
|
+
cistern.update_ticket("ticket" => self.attributes).body["ticket"]
|
81
81
|
end
|
82
82
|
|
83
83
|
merge_attributes(data)
|
@@ -86,7 +86,7 @@ class Zendesk2::Ticket
|
|
86
86
|
def destroy!
|
87
87
|
requires :identity
|
88
88
|
|
89
|
-
|
89
|
+
cistern.destroy_ticket("ticket" => {"id" => self.identity})
|
90
90
|
end
|
91
91
|
|
92
92
|
# Adds a ticket comment
|
@@ -103,8 +103,8 @@ class Zendesk2::Ticket
|
|
103
103
|
|
104
104
|
comment = Zendesk2.stringify_keys(options).merge("body" => text)
|
105
105
|
|
106
|
-
|
107
|
-
|
106
|
+
cistern.ticket_comments.new(
|
107
|
+
cistern.update_ticket(
|
108
108
|
"ticket" => {
|
109
109
|
"id" => self.identity,
|
110
110
|
"comment" => comment,
|
@@ -115,7 +115,7 @@ class Zendesk2::Ticket
|
|
115
115
|
|
116
116
|
# @return [Array<Zendesk2::User>] All users CCD on this ticket
|
117
117
|
def collaborators
|
118
|
-
self.collaborator_ids.map { |cid| self.
|
118
|
+
self.collaborator_ids.map { |cid| self.cistern.users.get(cid) }
|
119
119
|
end
|
120
120
|
|
121
121
|
# Update list of users to be CCD on this ticket
|
@@ -126,16 +126,16 @@ class Zendesk2::Ticket
|
|
126
126
|
|
127
127
|
# @return [Zendesk2::TicketAudits] all audits for this ticket
|
128
128
|
def audits
|
129
|
-
self.
|
129
|
+
self.cistern.ticket_audits(ticket_id: self.identity).all
|
130
130
|
end
|
131
131
|
|
132
132
|
# @return [Zendesk2::TicketMetric] metrics for this ticket
|
133
133
|
def metrics
|
134
|
-
Zendesk2::TicketMetric.new(self.
|
134
|
+
Zendesk2::TicketMetric.new(self.cistern.get_ticket_metric("ticket_id" => self.identity).body["ticket_metric"])
|
135
135
|
end
|
136
136
|
|
137
137
|
# @return [Array<Zendesk2::TicketComment>] all comments for this ticket
|
138
138
|
def comments
|
139
|
-
self.
|
139
|
+
self.cistern.ticket_comments(ticket_id: self.identity).all
|
140
140
|
end
|
141
141
|
end
|
@@ -21,12 +21,12 @@ class Zendesk2::TicketAudit
|
|
21
21
|
def ticket
|
22
22
|
requires :ticket_id
|
23
23
|
|
24
|
-
self.
|
24
|
+
self.cistern.tickets.get(self.ticket_id)
|
25
25
|
end
|
26
26
|
|
27
27
|
def events
|
28
28
|
(self.attributes[:events] || []).map { |ae|
|
29
|
-
Zendesk2::AuditEvent.for(ae.merge(ticket_audit: self,
|
29
|
+
Zendesk2::AuditEvent.for(ae.merge(ticket_audit: self, cistern: self.cistern))
|
30
30
|
}
|
31
31
|
end
|
32
32
|
end
|
@@ -13,13 +13,13 @@ class Zendesk2::TicketAudits
|
|
13
13
|
self.model_root = "audit"
|
14
14
|
|
15
15
|
def ticket
|
16
|
-
self.
|
16
|
+
self.cistern.tickets.get(self.ticket_id)
|
17
17
|
end
|
18
18
|
|
19
19
|
def all(params={})
|
20
20
|
requires :ticket_id
|
21
21
|
|
22
|
-
body =
|
22
|
+
body = cistern.send(collection_method, {"ticket_id" => self.ticket_id}.merge(params)).body
|
23
23
|
|
24
24
|
collection = self.clone.load(body[collection_root])
|
25
25
|
collection.merge_attributes(Cistern::Hash.slice(body, "count", "next_page", "previous_page"))
|
@@ -29,7 +29,7 @@ class Zendesk2::TicketAudits
|
|
29
29
|
def get(id)
|
30
30
|
requires :ticket_id
|
31
31
|
|
32
|
-
if data = self.
|
32
|
+
if data = self.cistern.send(model_method, {"ticket_id" => self.ticket_id, "id" => id}).body[self.model_root]
|
33
33
|
new(data)
|
34
34
|
end
|
35
35
|
rescue Zendesk2::Error
|