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.1"

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



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/action_throttling.rb', line 58

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