Class | DataMapper::Associations::HasManyAssociation |
In: |
lib/data_mapper/associations/has_many_association.rb
lib/data_mapper/associations/has_many_association.rb |
Parent: | HasNAssociation |
instance_variable_name | [R] | |
instance_variable_name | [R] |
Define the association instance method (i.e. Project#tasks)
# File lib/data_mapper/associations/has_many_association.rb, line 13 13: def define_accessor(klass) 14: klass.class_eval "def \#{@association_name}\n@\#{@association_name} || (@\#{@association_name} = DataMapper::Associations::HasManyAssociation::Set.new(self, \#{@association_name.inspect}))\nend\n\ndef \#{@association_name}=(value)\n\#{@association_name}.set(value)\nend\n\nprivate\ndef \#{@association_name}_keys=(value)\n\#{@association_name}.clear\n\nassociated_constant = \#{@association_name}.association.associated_constant\nassociated_table = \#{@association_name}.association.associated_table\nassociated_constant.all(associated_table.key => [*value]).each do |entry|\n\#{@association_name} << entry\nend\nend\n" 15: end
Define the association instance method (i.e. Project#tasks)
# File lib/data_mapper/associations/has_many_association.rb, line 13 13: def define_accessor(klass) 14: klass.class_eval "def \#{@association_name}\n@\#{@association_name} || (@\#{@association_name} = DataMapper::Associations::HasManyAssociation::Set.new(self, \#{@association_name.inspect}))\nend\n\ndef \#{@association_name}=(value)\n\#{@association_name}.set(value)\nend\n\nprivate\ndef \#{@association_name}_keys=(value)\n\#{@association_name}.clear\n\nassociated_constant = \#{@association_name}.association.associated_constant\nassociated_table = \#{@association_name}.association.associated_table\nassociated_constant.all(associated_table.key => [*value]).each do |entry|\n\#{@association_name} << entry\nend\nend\n" 15: end
# File lib/data_mapper/associations/has_many_association.rb, line 8 8: def dependency 9: @options[:dependent] 10: end
# File lib/data_mapper/associations/has_many_association.rb, line 8 8: def dependency 9: @options[:dependent] 10: end
# File lib/data_mapper/associations/has_many_association.rb, line 45 45: def instance_variable_name 46: class << self 47: attr_reader :instance_variable_name 48: end 49: 50: @instance_variable_name = "@#{@association_name}" 51: end
# File lib/data_mapper/associations/has_many_association.rb, line 45 45: def instance_variable_name 46: class << self 47: attr_reader :instance_variable_name 48: end 49: 50: @instance_variable_name = "@#{@association_name}" 51: end
# File lib/data_mapper/associations/has_many_association.rb, line 41 41: def to_delete_sql 42: "DELETE FROM #{associated_table.to_sql} WHERE #{foreign_key_column.to_sql} = ?" 43: end
# File lib/data_mapper/associations/has_many_association.rb, line 41 41: def to_delete_sql 42: "DELETE FROM #{associated_table.to_sql} WHERE #{foreign_key_column.to_sql} = ?" 43: end
# File lib/data_mapper/associations/has_many_association.rb, line 37 37: def to_disassociate_sql 38: "UPDATE #{associated_table.to_sql} SET #{foreign_key_column.to_sql} = NULL WHERE #{foreign_key_column.to_sql} = ?" 39: end