mailosaur 7.2.1 → 7.3.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/lib/Mailosaur/models/usage_account_limit.rb +16 -0
 - data/lib/Mailosaur/models/usage_account_limits.rb +24 -0
 - data/lib/Mailosaur/models/usage_transaction.rb +20 -0
 - data/lib/Mailosaur/models/usage_transaction_list_result.rb +13 -0
 - data/lib/Mailosaur/usage.rb +41 -0
 - data/lib/Mailosaur/version.rb +1 -1
 - data/lib/mailosaur.rb +10 -0
 - metadata +7 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 433da61cccbbf2683597e2dca5da83d0db8d127189e1a780cb0d620994f8d625
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 3a3d1d058f2d5a62bd728228e32d0a7c78f07e11cc755f29f295ae544ac26ca1
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: afa9cc3cdd1b0c37b5364673824ce6695c662036595c3eaca91dbc2a76c99622f729b28fa6cf3d796e834f98a908074aeb2c5c498de79ebf3669ec3b4e79d67e
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 9a5f5e6a88e53c754032b4ef79ff59b61a859c9413f79da4b9992f6c5e7917ce56eeb8ffb3c09252a0c35775314f648fc1d8d5ffb0a9e29232c5285fbbff9bbc
         
     | 
| 
         @@ -0,0 +1,16 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Mailosaur
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Models
         
     | 
| 
      
 3 
     | 
    
         
            +
                class UsageAccountLimit < BaseModel
         
     | 
| 
      
 4 
     | 
    
         
            +
                  def initialize(data = {})
         
     | 
| 
      
 5 
     | 
    
         
            +
                    @limit = data['limit']
         
     | 
| 
      
 6 
     | 
    
         
            +
                    @current = data['current']
         
     | 
| 
      
 7 
     | 
    
         
            +
                  end
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                  # @return [Integer] The limit.
         
     | 
| 
      
 10 
     | 
    
         
            +
                  attr_accessor :limit
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                  # @return [Integer] The current usage.
         
     | 
| 
      
 13 
     | 
    
         
            +
                  attr_accessor :current
         
     | 
| 
      
 14 
     | 
    
         
            +
                end
         
     | 
| 
      
 15 
     | 
    
         
            +
              end
         
     | 
| 
      
 16 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,24 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Mailosaur
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Models
         
     | 
| 
      
 3 
     | 
    
         
            +
                class UsageAccountLimits < BaseModel
         
     | 
| 
      
 4 
     | 
    
         
            +
                  def initialize(data = {})
         
     | 
| 
      
 5 
     | 
    
         
            +
                    @servers = Mailosaur::Models::UsageAccountLimit.new(data['servers'])
         
     | 
| 
      
 6 
     | 
    
         
            +
                    @users = Mailosaur::Models::UsageAccountLimit.new(data['users'])
         
     | 
| 
      
 7 
     | 
    
         
            +
                    @email = Mailosaur::Models::UsageAccountLimit.new(data['email'])
         
     | 
| 
      
 8 
     | 
    
         
            +
                    @sms = Mailosaur::Models::UsageAccountLimit.new(data['sms'])
         
     | 
| 
      
 9 
     | 
    
         
            +
                  end
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                  # @return [UsageAccountLimit]
         
     | 
| 
      
 12 
     | 
    
         
            +
                  attr_accessor :servers
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                  # @return [UsageAccountLimit]
         
     | 
| 
      
 15 
     | 
    
         
            +
                  attr_accessor :users
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                  # @return [UsageAccountLimit]
         
     | 
| 
      
 18 
     | 
    
         
            +
                  attr_accessor :email
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                  # @return [UsageAccountLimit]
         
     | 
| 
      
 21 
     | 
    
         
            +
                  attr_accessor :sms
         
     | 
| 
      
 22 
     | 
    
         
            +
                end
         
     | 
| 
      
 23 
     | 
    
         
            +
              end
         
     | 
| 
      
 24 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,20 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Mailosaur
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Models
         
     | 
| 
      
 3 
     | 
    
         
            +
                class UsageTransaction < BaseModel
         
     | 
| 
      
 4 
     | 
    
         
            +
                  def initialize(data = {})
         
     | 
| 
      
 5 
     | 
    
         
            +
                    @timestamp = DateTime.parse(data['timestamp'])
         
     | 
| 
      
 6 
     | 
    
         
            +
                    @email = data['email']
         
     | 
| 
      
 7 
     | 
    
         
            +
                    @sms = data['sms']
         
     | 
| 
      
 8 
     | 
    
         
            +
                  end
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                  # @return [DateTime] The datetime that this transaction occurred.
         
     | 
| 
      
 11 
     | 
    
         
            +
                  attr_accessor :timestamp
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                  # @return [Integer] The count of emails.
         
     | 
| 
      
 14 
     | 
    
         
            +
                  attr_accessor :email
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                  # @return [Integer] The count of SMS messages.
         
     | 
| 
      
 17 
     | 
    
         
            +
                  attr_accessor :sms
         
     | 
| 
      
 18 
     | 
    
         
            +
                end
         
     | 
| 
      
 19 
     | 
    
         
            +
              end
         
     | 
| 
      
 20 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,13 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Mailosaur
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Models
         
     | 
| 
      
 3 
     | 
    
         
            +
                class UsageTransactionListResult < BaseModel
         
     | 
| 
      
 4 
     | 
    
         
            +
                  def initialize(data = {})
         
     | 
| 
      
 5 
     | 
    
         
            +
                    @items = []
         
     | 
| 
      
 6 
     | 
    
         
            +
                    (data['items'] || []).each do |i| @items << Mailosaur::Models::UsageTransaction.new(i) end
         
     | 
| 
      
 7 
     | 
    
         
            +
                  end
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                  # @return [Array<UsageTransaction>] The individual transactions the result.
         
     | 
| 
      
 10 
     | 
    
         
            +
                  attr_accessor :items
         
     | 
| 
      
 11 
     | 
    
         
            +
                end
         
     | 
| 
      
 12 
     | 
    
         
            +
              end
         
     | 
| 
      
 13 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,41 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Mailosaur
         
     | 
| 
      
 2 
     | 
    
         
            +
              class Usage
         
     | 
| 
      
 3 
     | 
    
         
            +
                #
         
     | 
| 
      
 4 
     | 
    
         
            +
                # Creates and initializes a new instance of the Usage class.
         
     | 
| 
      
 5 
     | 
    
         
            +
                # @param client connection.
         
     | 
| 
      
 6 
     | 
    
         
            +
                #
         
     | 
| 
      
 7 
     | 
    
         
            +
                def initialize(conn, handle_http_error)
         
     | 
| 
      
 8 
     | 
    
         
            +
                  @conn = conn
         
     | 
| 
      
 9 
     | 
    
         
            +
                  @handle_http_error = handle_http_error
         
     | 
| 
      
 10 
     | 
    
         
            +
                end
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                # @return [Connection] the client connection.
         
     | 
| 
      
 13 
     | 
    
         
            +
                attr_reader :conn
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                #
         
     | 
| 
      
 16 
     | 
    
         
            +
                # Retrieve account usage limits.
         
     | 
| 
      
 17 
     | 
    
         
            +
                #
         
     | 
| 
      
 18 
     | 
    
         
            +
                # Details the current limits and usage for your account.
         
     | 
| 
      
 19 
     | 
    
         
            +
                #
         
     | 
| 
      
 20 
     | 
    
         
            +
                # @return [UsageAccountLimits] operation results.
         
     | 
| 
      
 21 
     | 
    
         
            +
                #
         
     | 
| 
      
 22 
     | 
    
         
            +
                def limits
         
     | 
| 
      
 23 
     | 
    
         
            +
                  response = conn.get 'api/usage/limits'
         
     | 
| 
      
 24 
     | 
    
         
            +
                  @handle_http_error.call(response) unless response.status == 200
         
     | 
| 
      
 25 
     | 
    
         
            +
                  model = JSON.load(response.body)
         
     | 
| 
      
 26 
     | 
    
         
            +
                  Mailosaur::Models::UsageAccountLimits.new(model)
         
     | 
| 
      
 27 
     | 
    
         
            +
                end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                #
         
     | 
| 
      
 30 
     | 
    
         
            +
                # List account transactions. Retrieves the last 31 days of transactional usage.
         
     | 
| 
      
 31 
     | 
    
         
            +
                #
         
     | 
| 
      
 32 
     | 
    
         
            +
                # @return [UsageTransactionListResult] operation results.
         
     | 
| 
      
 33 
     | 
    
         
            +
                #
         
     | 
| 
      
 34 
     | 
    
         
            +
                def transactions
         
     | 
| 
      
 35 
     | 
    
         
            +
                  response = conn.get 'api/usage/transactions'
         
     | 
| 
      
 36 
     | 
    
         
            +
                  @handle_http_error.call(response) unless response.status == 200
         
     | 
| 
      
 37 
     | 
    
         
            +
                  model = JSON.load(response.body)
         
     | 
| 
      
 38 
     | 
    
         
            +
                  Mailosaur::Models::UsageTransactionListResult.new(model)
         
     | 
| 
      
 39 
     | 
    
         
            +
                end
         
     | 
| 
      
 40 
     | 
    
         
            +
              end
         
     | 
| 
      
 41 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/Mailosaur/version.rb
    CHANGED
    
    
    
        data/lib/mailosaur.rb
    CHANGED
    
    | 
         @@ -13,6 +13,7 @@ module Mailosaur 
     | 
|
| 
       13 
13 
     | 
    
         
             
              autoload :Files,                                              'Mailosaur/files.rb'
         
     | 
| 
       14 
14 
     | 
    
         
             
              autoload :Messages,                                           'Mailosaur/messages.rb'
         
     | 
| 
       15 
15 
     | 
    
         
             
              autoload :Servers,                                            'Mailosaur/servers.rb'
         
     | 
| 
      
 16 
     | 
    
         
            +
              autoload :Usage,                                              'Mailosaur/usage.rb'
         
     | 
| 
       16 
17 
     | 
    
         
             
              autoload :MailosaurError,                                     'Mailosaur/mailosaur_error.rb'
         
     | 
| 
       17 
18 
     | 
    
         | 
| 
       18 
19 
     | 
    
         
             
              module Models
         
     | 
| 
         @@ -33,6 +34,10 @@ module Mailosaur 
     | 
|
| 
       33 
34 
     | 
    
         
             
                autoload :ServerListResult,                                   'Mailosaur/models/server_list_result.rb'
         
     | 
| 
       34 
35 
     | 
    
         
             
                autoload :SpamFilterResults,                                  'Mailosaur/models/spam_filter_results.rb'
         
     | 
| 
       35 
36 
     | 
    
         
             
                autoload :ServerCreateOptions,                                'Mailosaur/models/server_create_options.rb'
         
     | 
| 
      
 37 
     | 
    
         
            +
                autoload :UsageAccountLimits,                                 'Mailosaur/models/usage_account_limits.rb'
         
     | 
| 
      
 38 
     | 
    
         
            +
                autoload :UsageAccountLimit,                                  'Mailosaur/models/usage_account_limit.rb'
         
     | 
| 
      
 39 
     | 
    
         
            +
                autoload :UsageTransactionListResult,                         'Mailosaur/models/usage_transaction_list_result.rb'
         
     | 
| 
      
 40 
     | 
    
         
            +
                autoload :UsageTransaction,                                   'Mailosaur/models/usage_transaction.rb'
         
     | 
| 
       36 
41 
     | 
    
         
             
                autoload :BaseModel,                                          'Mailosaur/models/base_model.rb'
         
     | 
| 
       37 
42 
     | 
    
         
             
              end
         
     | 
| 
       38 
43 
     | 
    
         | 
| 
         @@ -67,6 +72,11 @@ module Mailosaur 
     | 
|
| 
       67 
72 
     | 
    
         
             
                  @servers ||= Servers.new(connection, method(:handle_http_error))
         
     | 
| 
       68 
73 
     | 
    
         
             
                end
         
     | 
| 
       69 
74 
     | 
    
         | 
| 
      
 75 
     | 
    
         
            +
                # @return [Usage] usage
         
     | 
| 
      
 76 
     | 
    
         
            +
                def usage
         
     | 
| 
      
 77 
     | 
    
         
            +
                  @usage ||= Usage.new(connection, method(:handle_http_error))
         
     | 
| 
      
 78 
     | 
    
         
            +
                end
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
       70 
80 
     | 
    
         
             
                private
         
     | 
| 
       71 
81 
     | 
    
         | 
| 
       72 
82 
     | 
    
         
             
                def connection
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: mailosaur
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 7. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 7.3.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Mailosaur
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2021- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2021-05-14 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: faraday
         
     | 
| 
         @@ -175,8 +175,13 @@ files: 
     | 
|
| 
       175 
175 
     | 
    
         
             
            - lib/Mailosaur/models/spam_analysis_result.rb
         
     | 
| 
       176 
176 
     | 
    
         
             
            - lib/Mailosaur/models/spam_assassin_rule.rb
         
     | 
| 
       177 
177 
     | 
    
         
             
            - lib/Mailosaur/models/spam_filter_results.rb
         
     | 
| 
      
 178 
     | 
    
         
            +
            - lib/Mailosaur/models/usage_account_limit.rb
         
     | 
| 
      
 179 
     | 
    
         
            +
            - lib/Mailosaur/models/usage_account_limits.rb
         
     | 
| 
      
 180 
     | 
    
         
            +
            - lib/Mailosaur/models/usage_transaction.rb
         
     | 
| 
      
 181 
     | 
    
         
            +
            - lib/Mailosaur/models/usage_transaction_list_result.rb
         
     | 
| 
       178 
182 
     | 
    
         
             
            - lib/Mailosaur/module_definition.rb
         
     | 
| 
       179 
183 
     | 
    
         
             
            - lib/Mailosaur/servers.rb
         
     | 
| 
      
 184 
     | 
    
         
            +
            - lib/Mailosaur/usage.rb
         
     | 
| 
       180 
185 
     | 
    
         
             
            - lib/Mailosaur/version.rb
         
     | 
| 
       181 
186 
     | 
    
         
             
            - lib/mailosaur.rb
         
     | 
| 
       182 
187 
     | 
    
         
             
            homepage: https://mailosaur.com/
         
     |