zendesk_api 3.0.2 → 3.0.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bb7a7899050cd837be40995be562bb7c95a04e7d631a34cdddaa671c1eeca9b3
4
- data.tar.gz: c042f01365e91e868c54e7aa5fc1318fc490efa2440093e24df86df6800feaba
3
+ metadata.gz: 8b226059359e4f834ccada53be52fbe72e0d73c26aa045fcfd011bd8afe3c1c2
4
+ data.tar.gz: c006d69a0b16716c7f093cd5a14454652661d4234f9a515a6a7724f977145c89
5
5
  SHA512:
6
- metadata.gz: efafbaa0881befe0fd827e9fa465a3f7be19ec566199dd1640f5bba68ec101a6a0eb8b30efe850a08ca5f2adc2004ab809e74ba96eb52b3f8ac2e63f75c07e72
7
- data.tar.gz: 6c81354976ef9ce6adf2f6ae084d7a60ae04fd49e10033e5025e5697a1f7adaac9385834f1c22a671e08cb94c3132d5c365a2e2a969b42f3035e301e94ed0a68
6
+ metadata.gz: 9080f2d1cb5c4fae6145c37dfe2fa4e3e81c1bd3afa1d565cd41e350e36b97dff9247c9a5028f3e78e27c1516fe406df80980a21c60b3f716898bcaddb026b0e
7
+ data.tar.gz: e616e3ee6b1ba647952265b5dad953181eaeb5940d6954d37cfe1934232df7abb4547d8de7cbc22dc9dcceda1d849c6c103fc87f85514cba42e64e2cf48f6c50
@@ -225,7 +225,7 @@ module ZendeskAPI
225
225
  clear_cache
226
226
  @options["page"] = @options["page"].to_i + 1
227
227
  elsif (@query = @next_page)
228
- # Send _only_ url param "?after=token" to get the next page
228
+ # Send _only_ url param "?page[after]=token" to get the next page
229
229
  @options.page&.delete("before")
230
230
  fetch(true)
231
231
  else
@@ -243,7 +243,7 @@ module ZendeskAPI
243
243
  clear_cache
244
244
  @options["page"] -= 1
245
245
  elsif (@query = @prev_page)
246
- # Send _only_ url param "?before=token" to get the prev page
246
+ # Send _only_ url param "?page[before]=token" to get the prev page
247
247
  @options.page&.delete("after")
248
248
  fetch(true)
249
249
  else
@@ -465,7 +465,7 @@ module ZendeskAPI
465
465
  def next_collection(name, *args, &block)
466
466
  opts = args.last.is_a?(Hash) ? args.last : {}
467
467
  opts.merge!(collection_path: [*@collection_path, name], page: nil)
468
- # why page: nil ?
468
+ # Why `page: nil`?
469
469
  # when you do client.tickets.fetch followed by client.tickets.foos => the request to /tickets/foos will
470
470
  # have the options page set to whatever the last options were for the tickets collection
471
471
  self.class.new(@client, @resource_class, @options.merge(opts))
@@ -39,6 +39,14 @@ module ZendeskAPI
39
39
  def namespace(namespace)
40
40
  @namespace = namespace
41
41
  end
42
+
43
+ def new_from_response(client, response, includes = nil)
44
+ new(client).tap do |resource|
45
+ resource.handle_response(response)
46
+ resource.set_includes(resource, includes, response.body) if includes
47
+ resource.attributes.clear_changes
48
+ end
49
+ end
42
50
  end
43
51
 
44
52
  # @return [Hash] The resource's attributes
@@ -123,19 +131,16 @@ module ZendeskAPI
123
131
 
124
132
  # Compares resources by class and id. If id is nil, then by object_id
125
133
  def ==(other)
134
+ return false unless other
135
+
126
136
  return true if other.object_id == object_id
127
137
 
128
- if other && !(other.is_a?(Data) || other.is_a?(Integer))
129
- warn "Trying to compare #{other.class} to a Resource from #{caller.first}"
130
- end
138
+ return other.id && (other.id == id) if other.is_a?(Data)
131
139
 
132
- if other.is_a?(Data)
133
- other.id && other.id == id
134
- elsif other.is_a?(Integer)
135
- id == other
136
- else
137
- false
138
- end
140
+ return id == other if other.is_a?(Integer)
141
+
142
+ warn "Trying to compare #{other.class} to a Resource
143
+ from #{caller.first}"
139
144
  end
140
145
  alias :eql :==
141
146
 
@@ -24,6 +24,10 @@ module ZendeskAPI
24
24
 
25
25
  class Topic < Resource
26
26
  class << self
27
+ def cbp_path_regexes
28
+ [%r{^community/topics$}]
29
+ end
30
+
27
31
  def resource_path
28
32
  "community/topics"
29
33
  end
@@ -83,6 +87,10 @@ module ZendeskAPI
83
87
  def attributes_for_save
84
88
  { self.class.resource_name => [id] }
85
89
  end
90
+
91
+ def self.cbp_path_regexes
92
+ [/^tags$/]
93
+ end
86
94
  end
87
95
 
88
96
  class Attachment < ReadResource
@@ -154,7 +162,7 @@ module ZendeskAPI
154
162
  end
155
163
 
156
164
  def self.cbp_path_regexes
157
- [/organizations$/]
165
+ [/^organizations$/]
158
166
  end
159
167
  end
160
168
 
@@ -186,7 +194,7 @@ module ZendeskAPI
186
194
  has Organization
187
195
 
188
196
  def self.cbp_path_regexes
189
- [%r{organizations/\d+/subscriptions$}]
197
+ [%r{^organizations/\d+/subscriptions$}]
190
198
  end
191
199
  end
192
200
 
@@ -275,6 +283,10 @@ module ZendeskAPI
275
283
  class Activity < Resource
276
284
  has User
277
285
  has :actor, :class => User
286
+
287
+ def self.cbp_path_regexes
288
+ [/^activities$/]
289
+ end
278
290
  end
279
291
 
280
292
  class Setting < UpdateResource
@@ -357,10 +369,18 @@ module ZendeskAPI
357
369
  namespace 'portal'
358
370
  end
359
371
 
360
- class TicketField < Resource; end
372
+ class TicketField < Resource
373
+ def self.cbp_path_regexes
374
+ [/^ticket_fields$/]
375
+ end
376
+ end
361
377
 
362
378
  class TicketMetric < DataResource
363
379
  include Read
380
+
381
+ def self.cbp_path_regexes
382
+ [/^ticket_metrics$/]
383
+ end
364
384
  end
365
385
 
366
386
  class TicketRelated < DataResource; end
@@ -387,7 +407,7 @@ module ZendeskAPI
387
407
  extend DestroyMany
388
408
 
389
409
  def self.cbp_path_regexes
390
- [/tickets$/]
410
+ [/^tickets$/]
391
411
  end
392
412
 
393
413
  # Unlike other attributes, "comment" is not a property of the ticket,
@@ -498,6 +518,10 @@ module ZendeskAPI
498
518
 
499
519
  # Recovers this suspended ticket to an actual ticket
500
520
  put :recover
521
+
522
+ def self.cbp_path_regexes
523
+ [/^suspended_tickets$/]
524
+ end
501
525
  end
502
526
 
503
527
  class DeletedTicket < ReadResource
@@ -507,6 +531,10 @@ module ZendeskAPI
507
531
  # Restores this previously deleted ticket to an actual ticket
508
532
  put :restore
509
533
  put :restore_many
534
+
535
+ def self.cbp_path_regexes
536
+ [/^deleted_tickets$/]
537
+ end
510
538
  end
511
539
 
512
540
  class UserViewRow < DataResource
@@ -604,6 +632,10 @@ module ZendeskAPI
604
632
  def self.preview(client, options = {})
605
633
  Collection.new(client, ViewRow, options.merge(:path => "views/preview", :verb => :post))
606
634
  end
635
+
636
+ def self.cbp_path_regexes
637
+ [/^views$/]
638
+ end
607
639
  end
608
640
 
609
641
  class Trigger < Rule
@@ -613,7 +645,7 @@ module ZendeskAPI
613
645
  has :execution, :class => RuleExecution
614
646
 
615
647
  def self.cbp_path_regexes
616
- [/triggers$/, %r{triggers/active$}]
648
+ [/^triggers$/, %r{^triggers/active$}]
617
649
  end
618
650
  end
619
651
 
@@ -622,6 +654,10 @@ module ZendeskAPI
622
654
  include Actions
623
655
 
624
656
  has :execution, :class => RuleExecution
657
+
658
+ def self.cbp_path_regexes
659
+ [/^automations$/]
660
+ end
625
661
  end
626
662
 
627
663
  class Macro < Rule
@@ -629,6 +665,10 @@ module ZendeskAPI
629
665
 
630
666
  has :execution, :class => RuleExecution
631
667
 
668
+ def self.cbp_path_regexes
669
+ [/^macros$/]
670
+ end
671
+
632
672
  # Returns the update to a ticket that happens when a macro will be applied.
633
673
  # @param [Ticket] ticket Optional {Ticket} to apply this macro to.
634
674
  # @raise [Faraday::ClientError] Raised for any non-200 response.
@@ -666,7 +706,7 @@ module ZendeskAPI
666
706
  has Group
667
707
 
668
708
  def self.cbp_path_regexes
669
- [%r{groups/\d+/memberships$}]
709
+ [%r{^groups/\d+/memberships$}]
670
710
  end
671
711
  end
672
712
 
@@ -674,7 +714,7 @@ module ZendeskAPI
674
714
  has_many :memberships, class: GroupMembership, path: "memberships"
675
715
 
676
716
  def self.cbp_path_regexes
677
- [/groups$/, %r{groups/assignable$}]
717
+ [/^groups$/, %r{^groups/assignable$}]
678
718
  end
679
719
  end
680
720
 
@@ -817,6 +857,10 @@ module ZendeskAPI
817
857
  def self.singular_resource_name
818
858
  "client"
819
859
  end
860
+
861
+ def self.cbp_path_regexes
862
+ [%r{^oauth/clients$}]
863
+ end
820
864
  end
821
865
 
822
866
  class OauthToken < ReadResource
@@ -1,3 +1,3 @@
1
1
  module ZendeskAPI
2
- VERSION = "3.0.2"
2
+ VERSION = "3.0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zendesk_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 3.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Davidovitz
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-08-01 00:00:00.000000000 Z
12
+ date: 2023-08-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
@@ -153,9 +153,9 @@ licenses:
153
153
  - Apache-2.0
154
154
  metadata:
155
155
  bug_tracker_uri: https://github.com/zendesk/zendesk_api_client_rb/issues
156
- changelog_uri: https://github.com/zendesk/zendesk_api_client_rb/blob/v3.0.2/CHANGELOG.md
157
- documentation_uri: https://www.rubydoc.info/gems/zendesk_api/3.0.2
158
- source_code_uri: https://github.com/zendesk/zendesk_api_client_rb/tree/v3.0.2
156
+ changelog_uri: https://github.com/zendesk/zendesk_api_client_rb/blob/v3.0.4/CHANGELOG.md
157
+ documentation_uri: https://www.rubydoc.info/gems/zendesk_api/3.0.4
158
+ source_code_uri: https://github.com/zendesk/zendesk_api_client_rb/tree/v3.0.4
159
159
  wiki_uri: https://github.com/zendesk/zendesk_api_client_rb/wiki
160
160
  post_install_message:
161
161
  rdoc_options: []