engiven 1.0.0 → 1.1.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/Gemfile.lock +1 -1
 - data/lib/engiven/client.rb +2 -1
 - data/lib/engiven/error.rb +53 -0
 - data/lib/engiven/version.rb +1 -1
 - metadata +2 -1
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 5b9e3277613debfa55ed4ced861d24b44e36c54da384a11cecc6bfd4f13ea0bd
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: f805afb52aa0f1731b1c77f1cc01a9cf64a5828199d3ec9a0e446fdfc39c09b6
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 62e78ee012a327d752f2d0ac6700ed7e7e2cb0d71d2caee3c03764b7414d94e015c6fea638707df3751724513ebaf16e3012cdcb22289230a4f8110651d2dabc
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 01ceb9224a3e2122f923949f23ce7a027feb9c280c44323b60b9c5f52ce3e14cdaf5201473ba68c5387ae8eb8082596d7b17d81c205c2494314e6b61fd544699
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/lib/engiven/client.rb
    CHANGED
    
    | 
         @@ -1,6 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'faraday'
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            require 'engiven/version'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'engiven/error'
         
     | 
| 
       4 
5 
     | 
    
         
             
            require 'engiven/resources/customer'
         
     | 
| 
       5 
6 
     | 
    
         
             
            require 'engiven/resources/fund'
         
     | 
| 
       6 
7 
     | 
    
         
             
            require 'engiven/resources/gift'
         
     | 
| 
         @@ -59,7 +60,7 @@ module EngivenAPI 
     | 
|
| 
       59 
60 
     | 
    
         
             
                  Faraday.new(client_opts) do |conn|
         
     | 
| 
       60 
61 
     | 
    
         
             
                    conn.request  :json
         
     | 
| 
       61 
62 
     | 
    
         
             
                    conn.response :logger if logger
         
     | 
| 
       62 
     | 
    
         
            -
                    conn.response : 
     | 
| 
      
 63 
     | 
    
         
            +
                    conn.response :engiven_error_handler
         
     | 
| 
       63 
64 
     | 
    
         
             
                    conn.response :json
         
     | 
| 
       64 
65 
     | 
    
         
             
                    conn.adapter  adapter
         
     | 
| 
       65 
66 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -0,0 +1,53 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module EngivenAPI
         
     | 
| 
      
 2 
     | 
    
         
            +
              class Error < StandardError; end
         
     | 
| 
      
 3 
     | 
    
         
            +
              class BadGateway < Error; end
         
     | 
| 
      
 4 
     | 
    
         
            +
              class BadRequest < Error; end
         
     | 
| 
      
 5 
     | 
    
         
            +
              class CloudflareError < Error; end
         
     | 
| 
      
 6 
     | 
    
         
            +
              class Forbidden < Error; end
         
     | 
| 
      
 7 
     | 
    
         
            +
              class GatewayTimeout < Error; end
         
     | 
| 
      
 8 
     | 
    
         
            +
              class InternalServerError < Error; end
         
     | 
| 
      
 9 
     | 
    
         
            +
              class NotFound < Error; end
         
     | 
| 
      
 10 
     | 
    
         
            +
              class ServiceUnavailable < Error; end
         
     | 
| 
      
 11 
     | 
    
         
            +
              class Unauthorized < Error; end
         
     | 
| 
      
 12 
     | 
    
         
            +
            end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            module Faraday
         
     | 
| 
      
 15 
     | 
    
         
            +
              class Response
         
     | 
| 
      
 16 
     | 
    
         
            +
                class EngivenErrorMiddleware < Middleware
         
     | 
| 
      
 17 
     | 
    
         
            +
                  ERROR_STATUSES = 400..600
         
     | 
| 
      
 18 
     | 
    
         
            +
                  def on_complete(env)
         
     | 
| 
      
 19 
     | 
    
         
            +
                    case env[:status]
         
     | 
| 
      
 20 
     | 
    
         
            +
                    when 400
         
     | 
| 
      
 21 
     | 
    
         
            +
                      raise EngivenAPI::BadRequest, error_message(env)
         
     | 
| 
      
 22 
     | 
    
         
            +
                    when 401
         
     | 
| 
      
 23 
     | 
    
         
            +
                      raise EngivenAPI::Unauthorized, error_message(env)
         
     | 
| 
      
 24 
     | 
    
         
            +
                    when 403
         
     | 
| 
      
 25 
     | 
    
         
            +
                      raise EngivenAPI::Forbidden, error_message(env)
         
     | 
| 
      
 26 
     | 
    
         
            +
                    when 404
         
     | 
| 
      
 27 
     | 
    
         
            +
                      raise EngivenAPI::NotFound, error_message(env)
         
     | 
| 
      
 28 
     | 
    
         
            +
                    when 500
         
     | 
| 
      
 29 
     | 
    
         
            +
                      raise EngivenAPI::InternalServerError, error_message(env)
         
     | 
| 
      
 30 
     | 
    
         
            +
                    when 502
         
     | 
| 
      
 31 
     | 
    
         
            +
                      raise EngivenAPI::BadGateway, error_message(env)
         
     | 
| 
      
 32 
     | 
    
         
            +
                    when 503
         
     | 
| 
      
 33 
     | 
    
         
            +
                      raise EngivenAPI::ServiceUnavailable, error_message(env)
         
     | 
| 
      
 34 
     | 
    
         
            +
                    when 504
         
     | 
| 
      
 35 
     | 
    
         
            +
                      raise EngivenAPI::GatewayTimeout, error_message(env)
         
     | 
| 
      
 36 
     | 
    
         
            +
                    when 520
         
     | 
| 
      
 37 
     | 
    
         
            +
                      raise EngivenAPI::CloudflareError, error_message(env)
         
     | 
| 
      
 38 
     | 
    
         
            +
                    when ERROR_STATUSES
         
     | 
| 
      
 39 
     | 
    
         
            +
                      raise EngivenAPI::Error, error_message(env)
         
     | 
| 
      
 40 
     | 
    
         
            +
                    end
         
     | 
| 
      
 41 
     | 
    
         
            +
                  end
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                  private
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
                  def error_message(env)
         
     | 
| 
      
 46 
     | 
    
         
            +
                    "#{env[:status]}: #{env[:url]} #{env[:body]}"
         
     | 
| 
      
 47 
     | 
    
         
            +
                  end
         
     | 
| 
      
 48 
     | 
    
         
            +
                end
         
     | 
| 
      
 49 
     | 
    
         
            +
              end
         
     | 
| 
      
 50 
     | 
    
         
            +
            end
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
            Faraday::Response.register_middleware(engiven_error_handler: Faraday::Response::EngivenErrorMiddleware)
         
     | 
    
        data/lib/engiven/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: engiven
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.1.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Taylor Brooks
         
     | 
| 
         @@ -83,6 +83,7 @@ files: 
     | 
|
| 
       83 
83 
     | 
    
         
             
            - engiven.gemspec
         
     | 
| 
       84 
84 
     | 
    
         
             
            - lib/engiven.rb
         
     | 
| 
       85 
85 
     | 
    
         
             
            - lib/engiven/client.rb
         
     | 
| 
      
 86 
     | 
    
         
            +
            - lib/engiven/error.rb
         
     | 
| 
       86 
87 
     | 
    
         
             
            - lib/engiven/resources/customer.rb
         
     | 
| 
       87 
88 
     | 
    
         
             
            - lib/engiven/resources/fund.rb
         
     | 
| 
       88 
89 
     | 
    
         
             
            - lib/engiven/resources/gift.rb
         
     |