Class: RailsRateLimit::Stores::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_rate_limit/stores/base.rb

Direct Known Subclasses

Memcached, Memory, Redis

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.resolve(store_name) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/rails_rate_limit/stores/base.rb', line 6

def self.resolve(store_name)
  case store_name.to_sym
  when :redis
    Redis.new
  when :memory
    Memory.instance
  when :memcached
    Memcached.new
  else
    raise StoreError, "Unsupported store: #{store_name}"
  end
end

Instance Method Details

#count_requests(key, period) ⇒ Object

Raises:

  • (NotImplementedError)


19
20
21
# File 'lib/rails_rate_limit/stores/base.rb', line 19

def count_requests(key, period)
  raise NotImplementedError
end

#record_request(key, period) ⇒ Object

Raises:

  • (NotImplementedError)


23
24
25
# File 'lib/rails_rate_limit/stores/base.rb', line 23

def record_request(key, period)
  raise NotImplementedError
end