Sha256: 8fdc8b1a231573609785b791693cd67889ea00e573c9e490ee70b15e5020a3d6

Contents?: true

Size: 1 KB

Versions: 10

Compression:

Stored size: 1 KB

Contents

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

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
ibm_db-3.0.4-x86-mingw32 test/models/contact.rb
ibm_db-3.0.4 test/models/contact.rb
ibm_db-3.0.3-x86-mingw32 test/models/contact.rb
ibm_db-3.0.3 test/models/contact.rb
ibm_db-3.0.2-x86-mingw32 test/models/contact.rb
ibm_db-3.0.2 test/models/contact.rb
activejob-lock-0.0.2 rails/activerecord/test/models/contact.rb
ibm_db-3.0.1 test/models/contact.rb
ibm_db-3.0.1-x86-mingw32 test/models/contact.rb
activejob-lock-0.0.1 rails/activerecord/test/models/contact.rb