class Search

Attributes

class[R]
name[R]
options[R]
order[R]
type[R]

Public Class Methods

new(name, klass, options) click to toggle source
# File lib/redisant/search.rb, line 4
def initialize name, klass, options
  @name = name.to_s
  @class = klass
  @options = options
end

Public Instance Methods

add(record, value) click to toggle source
# File lib/redisant/search.rb, line 14
def add record, value
  $redis.sadd key(value), record.id.to_s
end
key(value) click to toggle source
# File lib/redisant/search.rb, line 10
def key value
  "#{@class.name.downcase}:search:#{@name}:#{value}"
end
remove(record, value) click to toggle source
# File lib/redisant/search.rb, line 25
def remove record, value
  $redis.srem key(value), record.id.to_s
end
update(record, prev_value, cur_value) click to toggle source
# File lib/redisant/search.rb, line 18
def update record, prev_value, cur_value
  if prev_value != cur_value
    remove record, prev_value
    add record, cur_value
  end
end