Module: HasDefaultAssociation::ClassMethods
- Defined in:
- lib/has_default_association.rb
Instance Method Summary collapse
-
#has_default_association(*names, &default_proc) ⇒ Object
(also: #has_default_associations)
Declare default associations for ActiveRecord models.
Instance Method Details
#has_default_association(*names, &default_proc) ⇒ Object Also known as: has_default_associations
Declare default associations for ActiveRecord models.
# Build a new association on demand
belongs_to :address
has_default_association :address
# Build a custom assocation on demand
belongs_to :address
has_default_association :address do |model|
Address.new(:name => model.full_name)
end
Options
eager
will instantiate a default assocation when a model is initialized.
26 27 28 29 30 31 32 33 34 |
# File 'lib/has_default_association.rb', line 26 def has_default_association *names, &default_proc opts = names. opts.assert_valid_keys(:eager) names.each do |name| create_default_association(name, default_proc) add_default_association_callback(name) if opts[:eager] end end |