zendesk_api 1.30.0 → 1.34.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
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 8e138461b731cb580a6e11cd2a67a5864e909d13da934cb42623debe9a4fda60
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: f3ba385fd7563be3e6cce8afc22576a9fd81cd358cbc70635fdf2a30aee27e5b
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 61c2fcf9df4c4a6ffc77042ee63b0cfc11895619083b5e9d80a7c569aac87478a6aa989f4aa8305c853226e260e64741f536247f9dec58237d333571bd1bf3c0
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 78ee9bb11b950f2abcecd4b792199ffbf7b4cbfe6aef5bb9026dd371bf0f2a27a7b955250f88f9188938ed4e8a51a0310cb225f505fcd75a9cdd2ffcf4c8906c
         
     | 
    
        data/lib/zendesk_api/client.rb
    CHANGED
    
    | 
         @@ -181,7 +181,7 @@ module ZendeskAPI 
     | 
|
| 
       181 
181 
     | 
    
         
             
                    builder.use ZendeskAPI::Middleware::Request::EncodeJson
         
     | 
| 
       182 
182 
     | 
    
         | 
| 
       183 
183 
     | 
    
         
             
                    # Should always be first in the stack
         
     | 
| 
       184 
     | 
    
         
            -
                    builder.use ZendeskAPI::Middleware::Request::Retry, :logger => config.logger if config.retry
         
     | 
| 
      
 184 
     | 
    
         
            +
                    builder.use ZendeskAPI::Middleware::Request::Retry, :logger => config.logger, :retry_codes => config.retry_codes, :retry_on_exception => config.retry_on_exception if config.retry
         
     | 
| 
       185 
185 
     | 
    
         
             
                    if config.raise_error_when_rate_limited
         
     | 
| 
       186 
186 
     | 
    
         
             
                      builder.use ZendeskAPI::Middleware::Request::RaiseRateLimited, :logger => config.logger
         
     | 
| 
       187 
187 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -198,7 +198,7 @@ module ZendeskAPI 
     | 
|
| 
       198 
198 
     | 
    
         
             
                end
         
     | 
| 
       199 
199 
     | 
    
         | 
| 
       200 
200 
     | 
    
         
             
                def check_url
         
     | 
| 
       201 
     | 
    
         
            -
                  if !config.allow_http && config.url 
     | 
| 
      
 201 
     | 
    
         
            +
                  if !config.allow_http && !config.url.start_with?('https://')
         
     | 
| 
       202 
202 
     | 
    
         
             
                    raise ArgumentError, "zendesk_api is ssl only; url must begin with https://"
         
     | 
| 
       203 
203 
     | 
    
         
             
                  end
         
     | 
| 
       204 
204 
     | 
    
         
             
                end
         
     | 
| 
         @@ -45,6 +45,12 @@ module ZendeskAPI 
     | 
|
| 
       45 
45 
     | 
    
         
             
                # @return [Boolean] Whether to use resource_cache or not
         
     | 
| 
       46 
46 
     | 
    
         
             
                attr_accessor :use_resource_cache
         
     | 
| 
       47 
47 
     | 
    
         | 
| 
      
 48 
     | 
    
         
            +
                # specify the server error codes in which you want a retry to be attempted
         
     | 
| 
      
 49 
     | 
    
         
            +
                attr_accessor :retry_codes
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                # specify if you want a (network layer) exception to elicit a retry
         
     | 
| 
      
 52 
     | 
    
         
            +
                attr_accessor :retry_on_exception
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
       48 
54 
     | 
    
         
             
                def initialize
         
     | 
| 
       49 
55 
     | 
    
         
             
                  @client_options = {}
         
     | 
| 
       50 
56 
     | 
    
         
             
                  @use_resource_cache = true
         
     | 
    
        data/lib/zendesk_api/error.rb
    CHANGED
    
    | 
         @@ -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] 
     | 
| 
      
 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,4 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require "faraday/middleware"
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
2 
     | 
    
         
             
            module ZendeskAPI
         
     | 
| 
       4 
3 
     | 
    
         
             
              module Middleware
         
     | 
| 
       5 
4 
     | 
    
         
             
                # @private
         
     | 
| 
         @@ -8,19 +7,37 @@ module ZendeskAPI 
     | 
|
| 
       8 
7 
     | 
    
         
             
                  # @private
         
     | 
| 
       9 
8 
     | 
    
         
             
                  class Retry < Faraday::Middleware
         
     | 
| 
       10 
9 
     | 
    
         
             
                    DEFAULT_RETRY_AFTER = 10
         
     | 
| 
       11 
     | 
    
         
            -
                     
     | 
| 
      
 10 
     | 
    
         
            +
                    DEFAULT_ERROR_CODES = [429, 503]
         
     | 
| 
       12 
11 
     | 
    
         | 
| 
       13 
12 
     | 
    
         
             
                    def initialize(app, options = {})
         
     | 
| 
       14 
13 
     | 
    
         
             
                      super(app)
         
     | 
| 
       15 
14 
     | 
    
         
             
                      @logger = options[:logger]
         
     | 
| 
      
 15 
     | 
    
         
            +
                      @error_codes = options.key?(:retry_codes) && options[:retry_codes] ? options[:retry_codes] : DEFAULT_ERROR_CODES
         
     | 
| 
      
 16 
     | 
    
         
            +
                      @retry_on_exception = options.key?(:retry_on_exception) && options[:retry_on_exception] ? options[:retry_on_exception] : false
         
     | 
| 
       16 
17 
     | 
    
         
             
                    end
         
     | 
| 
       17 
18 
     | 
    
         | 
| 
       18 
19 
     | 
    
         
             
                    def call(env)
         
     | 
| 
       19 
20 
     | 
    
         
             
                      original_env = env.dup
         
     | 
| 
       20 
     | 
    
         
            -
                       
     | 
| 
      
 21 
     | 
    
         
            +
                      exception_happened = false
         
     | 
| 
      
 22 
     | 
    
         
            +
                      if @retry_on_exception
         
     | 
| 
      
 23 
     | 
    
         
            +
                        begin
         
     | 
| 
      
 24 
     | 
    
         
            +
                          response = @app.call(env)
         
     | 
| 
      
 25 
     | 
    
         
            +
                        rescue StandardError => e
         
     | 
| 
      
 26 
     | 
    
         
            +
                          exception_happened = true
         
     | 
| 
      
 27 
     | 
    
         
            +
                        end
         
     | 
| 
      
 28 
     | 
    
         
            +
                      else
         
     | 
| 
      
 29 
     | 
    
         
            +
                        response = @app.call(env)
         
     | 
| 
      
 30 
     | 
    
         
            +
                      end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                      if exception_happened || @error_codes.include?(response.env[:status])
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                        if exception_happened
         
     | 
| 
      
 35 
     | 
    
         
            +
                          seconds_left = DEFAULT_RETRY_AFTER.to_i
         
     | 
| 
      
 36 
     | 
    
         
            +
                          @logger.warn "An exception happened, waiting #{seconds_left} seconds... #{e}" if @logger
         
     | 
| 
      
 37 
     | 
    
         
            +
                        else
         
     | 
| 
      
 38 
     | 
    
         
            +
                          seconds_left = (response.env[:response_headers][:retry_after] || DEFAULT_RETRY_AFTER).to_i
         
     | 
| 
      
 39 
     | 
    
         
            +
                        end
         
     | 
| 
       21 
40 
     | 
    
         | 
| 
       22 
     | 
    
         
            -
                      if ERROR_CODES.include?(response.env[:status])
         
     | 
| 
       23 
     | 
    
         
            -
                        seconds_left = (response.env[:response_headers][:retry_after] || DEFAULT_RETRY_AFTER).to_i
         
     | 
| 
       24 
41 
     | 
    
         
             
                        @logger.warn "You have been rate limited. Retrying in #{seconds_left} seconds..." if @logger
         
     | 
| 
       25 
42 
     | 
    
         | 
| 
       26 
43 
     | 
    
         
             
                        seconds_left.times do |i|
         
     | 
| 
         @@ -5,7 +5,6 @@ module ZendeskAPI 
     | 
|
| 
       5 
5 
     | 
    
         
             
              class User < Resource; end
         
     | 
| 
       6 
6 
     | 
    
         
             
              class UserRelated < DataResource; end
         
     | 
| 
       7 
7 
     | 
    
         
             
              class Category < Resource; end
         
     | 
| 
       8 
     | 
    
         
            -
              class OrganizationMembership < ReadResource; end
         
     | 
| 
       9 
8 
     | 
    
         
             
              class OrganizationSubscription < ReadResource; end
         
     | 
| 
       10 
9 
     | 
    
         | 
| 
       11 
10 
     | 
    
         
             
              # @internal Begin actual Resource definitions
         
     | 
| 
         @@ -126,6 +125,10 @@ module ZendeskAPI 
     | 
|
| 
       126 
125 
     | 
    
         | 
| 
       127 
126 
     | 
    
         
             
              class OrganizationRelated < DataResource; end
         
     | 
| 
       128 
127 
     | 
    
         | 
| 
      
 128 
     | 
    
         
            +
              class OrganizationMembership < ReadResource
         
     | 
| 
      
 129 
     | 
    
         
            +
                extend CreateOrUpdate
         
     | 
| 
      
 130 
     | 
    
         
            +
              end
         
     | 
| 
      
 131 
     | 
    
         
            +
             
     | 
| 
       129 
132 
     | 
    
         
             
              class Organization < Resource
         
     | 
| 
       130 
133 
     | 
    
         
             
                extend CreateMany
         
     | 
| 
       131 
134 
     | 
    
         
             
                extend CreateOrUpdate
         
     | 
    
        data/lib/zendesk_api/version.rb
    CHANGED
    
    
    
        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. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.34.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:  
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2022-01-04 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: faraday
         
     | 
| 
         @@ -40,7 +40,7 @@ dependencies: 
     | 
|
| 
       40 
40 
     | 
    
         
             
                    version: 3.5.2
         
     | 
| 
       41 
41 
     | 
    
         
             
                - - "<"
         
     | 
| 
       42 
42 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       43 
     | 
    
         
            -
                    version:  
     | 
| 
      
 43 
     | 
    
         
            +
                    version: 6.0.0
         
     | 
| 
       44 
44 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       45 
45 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       46 
46 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -50,7 +50,7 @@ dependencies: 
     | 
|
| 
       50 
50 
     | 
    
         
             
                    version: 3.5.2
         
     | 
| 
       51 
51 
     | 
    
         
             
                - - "<"
         
     | 
| 
       52 
52 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       53 
     | 
    
         
            -
                    version:  
     | 
| 
      
 53 
     | 
    
         
            +
                    version: 6.0.0
         
     | 
| 
       54 
54 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       55 
55 
     | 
    
         
             
              name: inflection
         
     | 
| 
       56 
56 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -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. 
     | 
| 
       147 
     | 
    
         
            -
              documentation_uri: https://www.rubydoc.info/gems/zendesk_api/1. 
     | 
| 
       148 
     | 
    
         
            -
              source_code_uri: https://github.com/zendesk/zendesk_api_client_rb/tree/v1. 
     | 
| 
      
 146 
     | 
    
         
            +
              changelog_uri: https://github.com/zendesk/zendesk_api_client_rb/blob/v1.34.0/CHANGELOG.md
         
     | 
| 
      
 147 
     | 
    
         
            +
              documentation_uri: https://www.rubydoc.info/gems/zendesk_api/1.34.0
         
     | 
| 
      
 148 
     | 
    
         
            +
              source_code_uri: https://github.com/zendesk/zendesk_api_client_rb/tree/v1.34.0
         
     | 
| 
       149 
149 
     | 
    
         
             
              wiki_uri: https://github.com/zendesk/zendesk_api_client_rb/wiki
         
     | 
| 
       150 
150 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
       151 
151 
     | 
    
         
             
            rdoc_options: []
         
     |