Module: MyActiveRecord::Associations

Included in:
Base
Defined in:
lib/my_active_record/associations/has_one_association.rb,
lib/my_active_record/associations/has_many_association.rb,
lib/my_active_record/associations/belongs_to_association.rb

Instance Method Summary collapse

Instance Method Details

#belongs_to(*associations_list) ⇒ Object



3
4
5
6
7
8
9
10
# File 'lib/my_active_record/associations/belongs_to_association.rb', line 3

def belongs_to(*associations_list)
  associations_list.each do |association_name|
    define_method(association_name) do
      association_model = Database.table_to_model(association_name.to_s.pluralize)
      association_model.where(:id => self["#{association_name.to_s.singularize}_id"]).first
    end
  end
end

#has_many(*associations_list) ⇒ Object



3
4
5
6
7
8
9
10
# File 'lib/my_active_record/associations/has_many_association.rb', line 3

def has_many(*associations_list)
  associations_list.each do |association_name|
    define_method(association_name) do
      association_model = Database.table_to_model(association_name.to_s.pluralize)
      association_model.where(self.class.table_name.singularize + "_id" => self.id)
    end
  end
end

#has_one(*associations_list) ⇒ Object



3
4
5
6
7
8
9
10
# File 'lib/my_active_record/associations/has_one_association.rb', line 3

def has_one(*associations_list)
  associations_list.each do |association_name|
    define_method(association_name) do
      association_model = Database.table_to_model(association_name.to_s.pluralize)
      association_model.where(self.class.table_name.singularize + "_id" => self.id).first
    end
  end
end