class NinjaModel::Associations::Builder::CollectionAssociation
Constants
- CALLBACKS
Public Class Methods
build(model, name, options, &extension)
click to toggle source
# File lib/ninja_model/associations/builder/collection_association.rb, line 12 def self.build(model, name, options, &extension) new(model, name, options, &extension).build end
new(model, name, options, &extension)
click to toggle source
Calls superclass method
NinjaModel::Associations::Builder::Association::new
# File lib/ninja_model/associations/builder/collection_association.rb, line 16 def initialize(model, name, options, &extension) super(model, name, options) end
Public Instance Methods
build()
click to toggle source
Calls superclass method
NinjaModel::Associations::Builder::Association::build
# File lib/ninja_model/associations/builder/collection_association.rb, line 20 def build reflection = super CALLBACKS.each { |callback_name| define_callback(callback_name) } reflection end
writable?()
click to toggle source
# File lib/ninja_model/associations/builder/collection_association.rb, line 26 def writable? true end
Private Instance Methods
define_callback(callback_name)
click to toggle source
# File lib/ninja_model/associations/builder/collection_association.rb, line 32 def define_callback(callback_name) full_callback_name = "#{callback_name}_for_#{name}" model.class_attribute full_callback_name.to_sym unless model.method_defined?(full_callback_name) model.send("#{full_callback_name}=", Array.wrap(options[callback_name.to_sym])) end
define_readers()
click to toggle source
Calls superclass method
NinjaModel::Associations::Builder::Association#define_readers
# File lib/ninja_model/associations/builder/collection_association.rb, line 40 def define_readers super name = self.name model.redefine_method("#{name.to_s.singularize}_ids") do association(name).ids_reader end end
define_writers()
click to toggle source
Calls superclass method
NinjaModel::Associations::Builder::Association#define_writers
# File lib/ninja_model/associations/builder/collection_association.rb, line 49 def define_writers super name = self.name model.redefine_method("#{name.to_s.singularize}_ids=") do |ids| association(name).ids_writer(ids) end end