1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activerecord/test/models/contact.rb
Sean Griffin 3bc314e658 Move writing unknown column exception to null attribute
Making this change revealed several subtle bugs related to models with
no primary key, and anonymous classes. These have been fixed as well,
with regression tests added.
2014-06-26 09:43:35 -06:00

41 lines
1 KiB
Ruby

module ContactFakeColumns
def self.extended(base)
base.class_eval do
establish_connection(:adapter => 'fake')
connection.tables = [table_name]
connection.primary_keys = {
table_name => 'id'
}
column :id, :integer
column :name, :string
column :age, :integer
column :avatar, :binary
column :created_at, :datetime
column :awesome, :boolean
column :preferences, :string
column :alternative_id, :integer
serialize :preferences
belongs_to :alternative, :class_name => 'Contact'
end
end
# mock out self.columns so no pesky db is needed for these tests
def column(name, sql_type = nil, options = {})
connection.merge_column(table_name, name, sql_type, options)
end
end
class Contact < ActiveRecord::Base
extend ContactFakeColumns
end
class ContactSti < ActiveRecord::Base
extend ContactFakeColumns
column :type, :string
def type; 'ContactSti' end
end