Module: ActionThrottling

Defined in:
lib/action_throttling.rb,
lib/action_throttling/version.rb,
lib/action_throttling/configuration.rb

Defined Under Namespace

Modules: InstanceMethods Classes: Configuration

Constant Summary collapse

MissingConfiguration =
Class.new StandardError
VERSION =
"0.1.2"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject



14
15
16
# File 'lib/action_throttling/configuration.rb', line 14

def self.configuration
  @configuration ||= Configuration.new
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Yields:



18
19
20
# File 'lib/action_throttling/configuration.rb', line 18

def self.configure
  yield configuration
end

.included(receiver) ⇒ Object



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/action_throttling.rb', line 70

def self.included(receiver)
  unless ActionThrottling.configuration.bucket_key
    raise ActionThrottling::MissingConfiguration,
      'Missing bucket_key configuration. See documentation'
  end

  unless ActionThrottling.configuration.regenerate_interval
    raise ActionThrottling::MissingConfiguration,
      'Missing regenerate_interval configuration. See documentation'
  end

  unless ActionThrottling.configuration.regenerate_amount
    raise ActionThrottling::MissingConfiguration,
      'Missing regenerate_amount configuration. See documentation'
  end

  receiver.send :include, InstanceMethods
end