module Minidoc::Associations
Public Instance Methods
reload()
click to toggle source
Calls superclass method
# File lib/minidoc/associations.rb, line 39 def reload clear_association_caches super end
Private Instance Methods
clear_association_caches()
click to toggle source
# File lib/minidoc/associations.rb, line 62 def clear_association_caches self.class.associations.each do |name, options| instance_variable_set("@#{name}", nil) end end
read_association(name)
click to toggle source
# File lib/minidoc/associations.rb, line 50 def read_association(name) return instance_variable_get("@#{name}") if instance_variable_get("@#{name}") options = self.class.associations[name] if (foreign_id = self["#{name}_id"]) record = options[:class_name].constantize.find(foreign_id) instance_variable_set("@#{name}", record) record end end
write_association(name, value)
click to toggle source
# File lib/minidoc/associations.rb, line 46 def write_association(name, value) send("#{name}_id=", value ? value.id : nil) end