zendesk_api 1.28.0 → 1.32.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 31dc31f5db1f4ae402396b33c8f02ff940dcca8755acb1f38cfc011a59b9ae13
4
- data.tar.gz: '087c1d09ddee9be866337f9447b0dde8fa66d6b012817743a74f83adc9cd4b64'
3
+ metadata.gz: 3a9cc4118166019441137ca3a0ddbabd9444b7b32b26ca1f3ed83b9cddb5dea0
4
+ data.tar.gz: 1fbaf93e103deb403cbcf81cdb031e0461de68ed532ad6abd061d8d7cf6462c8
5
5
  SHA512:
6
- metadata.gz: e35db1daa6618d3a252f45eaa8c0dd0e4a13261fb8ba5905d2c3eb4e91edd9d76e965ca146ecd726ebed6d29d5bf24731b6e074a1fcb0be521e6e8cdd3d8b9b2
7
- data.tar.gz: 0fb84eeef2d4adc9e170e37043c84451f7f035a5471003d6452501a9c28db3b5baa9d49228b8fb176c6f62ca0db77482670569d757591bb26c008bc37d3b9e33
6
+ metadata.gz: 51e1b589e97fd42c532ef1225b9c2a0cfeabb6f7560739fad4adde015defc73f3908d4ab2049135ca219d5e210965fc1c6e644914e73ac886fb5b50ad810a7e6
7
+ data.tar.gz: ef264143b1c4236505bff73e11d846ea4eb6bb27721bc848b6031e641c031f9827d9e32546ba2480bbddd8cf86f84bc6a62e0ff802e3157546d0b0a6c3c9f792
@@ -40,6 +40,11 @@ module ZendeskAPI
40
40
  method = method.to_s
41
41
  options = args.last.is_a?(Hash) ? args.pop : {}
42
42
 
43
+ unless config.use_resource_cache
44
+ raise "Resource for #{method} does not exist" unless method_as_class(method)
45
+ return ZendeskAPI::Collection.new(self, method_as_class(method), options)
46
+ end
47
+
43
48
  @resource_cache[method] ||= { :class => nil, :cache => ZendeskAPI::LRUCache.new }
44
49
  if !options.delete(:reload) && (cached = @resource_cache[method][:cache].read(options.hash))
45
50
  cached
@@ -42,8 +42,12 @@ module ZendeskAPI
42
42
  # @return [ZendeskAPI::LRUCache]
43
43
  attr_accessor :cache
44
44
 
45
+ # @return [Boolean] Whether to use resource_cache or not
46
+ attr_accessor :use_resource_cache
47
+
45
48
  def initialize
46
49
  @client_options = {}
50
+ @use_resource_cache = true
47
51
 
48
52
  self.cache = ZendeskAPI::LRUCache.new(1000)
49
53
  end
@@ -20,7 +20,7 @@ module ZendeskAPI
20
20
  super
21
21
 
22
22
  if response[:body].is_a?(Hash)
23
- @errors = response[:body]["details"] || response[:body]["description"]
23
+ @errors = response[:body]["details"] || generate_error_msg(response[:body])
24
24
  end
25
25
 
26
26
  @errors ||= {}
@@ -29,6 +29,17 @@ module ZendeskAPI
29
29
  def to_s
30
30
  "#{self.class.name}: #{@errors}"
31
31
  end
32
+
33
+ private
34
+
35
+ def generate_error_msg(response_body)
36
+ return unless response_body["description"] || response_body["message"]
37
+
38
+ [
39
+ response_body["description"],
40
+ response_body["message"]
41
+ ].compact.join(" - ")
42
+ end
32
43
  end
33
44
 
34
45
  class NetworkError < ClientError; end
@@ -1,5 +1,5 @@
1
1
  require "faraday/middleware"
2
- require "mime/types"
2
+ require "mini_mime"
3
3
  require 'tempfile'
4
4
 
5
5
  module ZendeskAPI
@@ -50,7 +50,10 @@ module ZendeskAPI
50
50
  hash = hash[key]
51
51
  end
52
52
 
53
- mime_type ||= MIME::Types.type_for(path).first || "application/octet-stream"
53
+ unless defined?(mime_type) && !mime_type.nil?
54
+ mime_type = MiniMime.lookup_by_filename(path)
55
+ mime_type = mime_type ? mime_type.content_type : "application/octet-stream"
56
+ end
54
57
 
55
58
  hash[:filename] ||= if file.respond_to?(:original_filename)
56
59
  file.original_filename
@@ -10,6 +10,8 @@ module ZendeskAPI
10
10
 
11
11
  # @internal Begin actual Resource definitions
12
12
 
13
+ class RecipientAddress < Resource; end
14
+
13
15
  class Locale < ReadResource; end
14
16
 
15
17
  class CustomRole < DataResource; end
@@ -122,6 +124,8 @@ module ZendeskAPI
122
124
  put :clear_badge
123
125
  end
124
126
 
127
+ class OrganizationRelated < DataResource; end
128
+
125
129
  class Organization < Resource
126
130
  extend CreateMany
127
131
  extend CreateOrUpdate
@@ -129,6 +133,7 @@ module ZendeskAPI
129
133
 
130
134
  has Ability, :inline => true
131
135
  has Group
136
+ has :related, :class => OrganizationRelated
132
137
 
133
138
  has_many Ticket
134
139
  has_many User
@@ -474,6 +479,15 @@ module ZendeskAPI
474
479
  put :recover
475
480
  end
476
481
 
482
+ class DeletedTicket < ReadResource
483
+ include Destroy
484
+ extend DestroyMany
485
+
486
+ # Restores this previously deleted ticket to an actual ticket
487
+ put :restore
488
+ put :restore_many
489
+ end
490
+
477
491
  class UserViewRow < DataResource
478
492
  has User
479
493
  def self.model_key
@@ -753,6 +767,10 @@ module ZendeskAPI
753
767
  end
754
768
  end
755
769
 
770
+ class DeletedUser < ReadResource
771
+ include Destroy
772
+ end
773
+
756
774
  class UserField < Resource; end
757
775
  class OrganizationField < Resource; end
758
776
 
@@ -1,3 +1,3 @@
1
1
  module ZendeskAPI
2
- VERSION = "1.28.0"
2
+ VERSION = "1.32.0"
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: 1.28.0
4
+ version: 1.32.0
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: 2020-10-09 00:00:00.000000000 Z
12
+ date: 2021-08-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
@@ -80,7 +80,7 @@ dependencies:
80
80
  - !ruby/object:Gem::Version
81
81
  version: '2.0'
82
82
  - !ruby/object:Gem::Dependency
83
- name: mime-types
83
+ name: mini_mime
84
84
  requirement: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - ">="
@@ -143,9 +143,9 @@ licenses:
143
143
  - Apache-2.0
144
144
  metadata:
145
145
  bug_tracker_uri: https://github.com/zendesk/zendesk_api_client_rb/issues
146
- changelog_uri: https://github.com/zendesk/zendesk_api_client_rb/blob/v1.28.0/CHANGELOG.md
147
- documentation_uri: https://www.rubydoc.info/gems/zendesk_api/1.28.0
148
- source_code_uri: https://github.com/zendesk/zendesk_api_client_rb/tree/v1.28.0
146
+ changelog_uri: https://github.com/zendesk/zendesk_api_client_rb/blob/v1.32.0/CHANGELOG.md
147
+ documentation_uri: https://www.rubydoc.info/gems/zendesk_api/1.32.0
148
+ source_code_uri: https://github.com/zendesk/zendesk_api_client_rb/tree/v1.32.0
149
149
  wiki_uri: https://github.com/zendesk/zendesk_api_client_rb/wiki
150
150
  post_install_message:
151
151
  rdoc_options: []