Class: Tractor::Index

Inherits:
Object
  • Object
show all
Defined in:
lib/tractor/model/base.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass, name, value) ⇒ Index

Returns a new instance of Index.



53
54
55
56
57
# File 'lib/tractor/model/base.rb', line 53

def initialize(klass, name, value)
  @klass = klass
  @name = name
  @value = value
end

Instance Attribute Details

#klassObject (readonly)

Returns the value of attribute klass.



51
52
53
# File 'lib/tractor/model/base.rb', line 51

def klass
  @klass
end

#nameObject (readonly)

Returns the value of attribute name.



51
52
53
# File 'lib/tractor/model/base.rb', line 51

def name
  @name
end

#valueObject (readonly)

Returns the value of attribute value.



51
52
53
# File 'lib/tractor/model/base.rb', line 51

def value
  @value
end

Class Method Details

.key_for(klass, name, value) ⇒ Object



67
68
69
70
# File 'lib/tractor/model/base.rb', line 67

def self.key_for(klass, name, value)
  i = self.new(klass, name, value)
  i.key
end

Instance Method Details

#delete(id) ⇒ Object



63
64
65
# File 'lib/tractor/model/base.rb', line 63

def delete(id)
  Tractor.redis.srem(key, id)
end

#insert(id) ⇒ Object



59
60
61
# File 'lib/tractor/model/base.rb', line 59

def insert(id)
  Tractor.redis.sadd(key, id) unless Tractor.redis.sismember(key, id)
end

#keyObject



72
73
74
75
# File 'lib/tractor/model/base.rb', line 72

def key
  encoded_value = "#{Base64.encode64(value.to_s)}".gsub("\n", "")
  "#{klass}:#{name}:#{encoded_value}"
end