class ActiveRedis::Associations::BelongsToAssociation

Constants

DEFAULT_OPTIONS

Public Class Methods

new(name, target, options = {}) click to toggle source
# File lib/active_redis/associations/belongs_to_association.rb, line 8
def initialize(name, target, options = {})
  super
  @options ||= DEFAULT_OPTIONS.merge(options)
  target.define_attributes_accessors("#{@name.to_s}_id" => :integer)
end

Public Instance Methods

read(object) click to toggle source
# File lib/active_redis/associations/belongs_to_association.rb, line 14
def read(object)
  @name.to_s.capitalize.constantize.where(id: object.send("#{@name.to_s}_id")).top
end
save(object) click to toggle source
# File lib/active_redis/associations/belongs_to_association.rb, line 22
def save(object)
  value = object.send :instance_variable_get, "@assoc_#{@name}"
  return unless value
  write(object, value)
  value.touch if @options[:touch]
end
write(object, value) click to toggle source
# File lib/active_redis/associations/belongs_to_association.rb, line 18
def write(object, value)
  object.send "#{@name.to_s}_id=", value.id
end