File: quotas.rb

package info (click to toggle)
ruby-aws-sdk 1.67.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 6,840 kB
  • sloc: ruby: 28,436; makefile: 7
file content (66 lines) | stat: -rw-r--r-- 1,897 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"). You
# may not use this file except in compliance with the License. A copy of
# the License is located at
#
#     http://aws.amazon.com/apache2.0/
#
# or in the "license" file accompanying this file. This file is
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
# ANY KIND, either express or implied. See the License for the specific
# language governing permissions and limitations under the License.

module AWS
  class SimpleEmailService

    # Returns information about your SimpleEmailService quotas.
    class Quotas

      include Core::Model

      # @return [Integer] The maximum number of emails the user is allowed
      #   to send in a 24-hour interval.
      def max_24_hour_send
        to_h[:max_24_hour_send]
      end

      # @return [Float] The maximum number of emails the user is allowed
      #   to send per second.
      def max_send_rate
        to_h[:max_send_rate]
      end

      # @return [Integer] Returns the number of emails sent during the
      #   previous 24 hours.
      def sent_last_24_hours
        to_h[:sent_last_24_hours]
      end

      # Returns a hash of the SES quotas.
      #
      # @example
      #
      #   ses.quotas.to_hash
      #   # {:max_24_hour_send=>200, :max_send_rate=>1.0, :sent_last_24_hours=>22}
      #
      # @return [Hash]
      #
      def to_hash
        response = client.get_send_quota
        {
          :max_24_hour_send => response.max_24_hour_send.to_i,
          :max_send_rate => response.max_send_rate.to_f,
          :sent_last_24_hours => response.sent_last_24_hours.to_i,
        }
      end
      alias_method :to_h, :to_hash

      # @api private
      def inspect
        "<#{self.class} #{to_hash.inspect}>"
      end

    end
  end
end