class ThrottleAdapter

Attributes

db[RW]
table[RW]

Public Class Methods

new(sequel_db, sequel_table = 'throttle_cache') click to toggle source
# File lib/sequel-rack_throttle/ThrottleAdapter.rb, line 4
def initialize(sequel_db, sequel_table = 'throttle_cache')
  @db = sequel_db
  @table = sequel_table

  create_table? @table.to_sym do
    String :key, primary_key: true
    Float :value, default: 0
  end
end

Public Instance Methods

dataset() click to toggle source
# File lib/sequel-rack_throttle/ThrottleAdapter.rb, line 14
def dataset
  @db[@table.to_sym]
end
get(key) click to toggle source
# File lib/sequel-rack_throttle/ThrottleAdapter.rb, line 18
def get(key)
  (dataset.filter(key: key).first[:value])
end
set(key, value) click to toggle source
# File lib/sequel-rack_throttle/ThrottleAdapter.rb, line 22
def set(key, value)
  unless dataset.where(key: key).update(value: value) == 1 then dataset.insert(key: key, value: value) end
end