class Superstore::Associations::Builder::Association
Attributes
model[R]
name[R]
options[R]
Public Class Methods
build(model, name, options)
click to toggle source
# File lib/superstore/associations/builder/association.rb, line 3 def self.build(model, name, options) new(model, name, options).build end
new(model, name, options)
click to toggle source
# File lib/superstore/associations/builder/association.rb, line 8 def initialize(model, name, options) @model, @name, @options = model, name, options end
Public Instance Methods
build()
click to toggle source
# File lib/superstore/associations/builder/association.rb, line 12 def build define_writer define_reader reflection = Superstore::Associations::Reflection.new(macro, name, model, options) ActiveRecord::Reflection.add_reflection model, name, reflection end
define_reader()
click to toggle source
# File lib/superstore/associations/builder/association.rb, line 31 def define_reader name = self.name mixin.redefine_method(name) do association(name).reader end end
define_writer()
click to toggle source
# File lib/superstore/associations/builder/association.rb, line 24 def define_writer name = self.name mixin.redefine_method("#{name}=") do |records| association(name).writer(records) end end
mixin()
click to toggle source
# File lib/superstore/associations/builder/association.rb, line 20 def mixin model.generated_association_methods end