class RedisField::Base

Attributes

model_id[W]

Public Class Methods

env() click to toggle source
# File lib/redis_field/base.rb, line 16
def env
  @@env ||= ENV['RAILS_ENV'] || "development"
end
new(object, field_name) click to toggle source
# File lib/redis_field/base.rb, line 21
def initialize(object, field_name)
  @object, @field_name = object, field_name
end
path_prefix() click to toggle source
# File lib/redis_field/base.rb, line 8
def path_prefix
  @@path_prefix ||= 'ar_redis_field'
end
redis() click to toggle source
# File lib/redis_field/base.rb, line 12
def redis
  @@redis ||= Redis.new
end

Public Instance Methods

get() click to toggle source
# File lib/redis_field/base.rb, line 29
def get
  Marshal.load field_path if field_path
end
set(value) click to toggle source
# File lib/redis_field/base.rb, line 25
def set(value)
  redis.set @field_name, Marshal.dump(value)
end

Private Instance Methods

env() click to toggle source
# File lib/redis_field/base.rb, line 60
def env
  self.class.env
end
field_path() click to toggle source
# File lib/redis_field/base.rb, line 56
def field_path
  redis[@field_name]
end
model_id() click to toggle source
# File lib/redis_field/base.rb, line 39
def model_id
  @model_id ||= @object.id
end
object_model_name() click to toggle source
# File lib/redis_field/base.rb, line 35
def object_model_name
  @object_model_name ||= @object.class.model_name.param_key
end
redis() click to toggle source
# File lib/redis_field/base.rb, line 43
def redis
  @redis ||= Redis::Namespace.new(redis_path, redis: self.class.redis)
end
redis_path() click to toggle source
# File lib/redis_field/base.rb, line 47
def redis_path
  [
    self.class.path_prefix, 
    env, 
    object_model_name, 
    model_id
  ].join ':'
end