module ContactFakeColumns

Public Class Methods

extended(base) click to toggle source
# File activerecord/test/models/contact.rb, line 4
def self.extended(base)
  base.class_eval do
    establish_connection(adapter: "fake")

    connection.data_sources = [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

Public Instance Methods

column(name, sql_type = nil, options = {}) click to toggle source

mock out self.columns so no pesky db is needed for these tests

# File activerecord/test/models/contact.rb, line 29
def column(name, sql_type = nil, options = {})
  connection.merge_column(table_name, name, sql_type, options)
end