Module: Plines::RedisObjectsHelpers::ClassMethods

Defined in:
lib/plines/redis_objects.rb

Instance Method Summary collapse

Instance Method Details

#counter(name, *args) ⇒ Object



87
88
89
90
91
92
93
94
95
96
# File 'lib/plines/redis_objects.rb', line 87

def counter(name, *args)
  declared_redis_object_names << name

  class_eval <<-EOS, __FILE__, __LINE__ + 1
    def #{name}
      @#{name} ||= new_redis_object(
        ::Redis::Counter, #{name.inspect}, #{args})
    end
  EOS
end

#declared_redis_object_namesObject



98
99
100
# File 'lib/plines/redis_objects.rb', line 98

def declared_redis_object_names
  @declared_redis_object_names ||= []
end

#hash_key(name, *args) ⇒ Object



76
77
78
79
80
81
82
83
84
85
# File 'lib/plines/redis_objects.rb', line 76

def hash_key(name, *args)
  declared_redis_object_names << name

  class_eval <<-EOS, __FILE__, __LINE__ + 1
    def #{name}
      @#{name} ||= new_redis_object(
        ::Redis::HashKey, #{name.inspect}, #{args})
    end
  EOS
end

#list(name, *args) ⇒ Object



65
66
67
68
69
70
71
72
73
74
# File 'lib/plines/redis_objects.rb', line 65

def list(name, *args)
  declared_redis_object_names << name

  class_eval <<-EOS, __FILE__, __LINE__ + 1
    def #{name}
      @#{name} ||= new_redis_object(
        ::Redis::List, #{name.inspect}, #{args})
    end
  EOS
end

#lock(name, *args) ⇒ Object



44
45
46
47
48
49
50
51
52
53
# File 'lib/plines/redis_objects.rb', line 44

def lock(name, *args)
  declared_redis_object_names << name

  class_eval <<-EOS, __FILE__, __LINE__ + 1
    def #{name}
      @#{name} ||= new_redis_object(
        ::Redis::Lock, #{name.inspect}, #{args})
    end
  EOS
end

#redis_key_prefix(override = nil) ⇒ Object



102
103
104
# File 'lib/plines/redis_objects.rb', line 102

def redis_key_prefix(override = nil)
  (@redis_key_prefix ||= override) || "plines"
end

#set(name, *args) ⇒ Object



55
56
57
58
59
60
61
62
63
# File 'lib/plines/redis_objects.rb', line 55

def set(name, *args)
  declared_redis_object_names << name
  class_eval <<-EOS, __FILE__, __LINE__ + 1
    def #{name}
      @#{name} ||= new_redis_object(
        ::Redis::Set, #{name.inspect}, #{args})
    end
  EOS
end

#value(name, *args) ⇒ Object



33
34
35
36
37
38
39
40
41
42
# File 'lib/plines/redis_objects.rb', line 33

def value(name, *args)
  declared_redis_object_names << name

  class_eval <<-EOS, __FILE__, __LINE__ + 1
    def #{name}
      @#{name} ||= new_redis_object(
        ::Redis::Value, #{name.inspect}, #{args})
    end
  EOS
end