Module: ActiveRecord::Base::TablelessModel::ClassMethods

Defined in:
lib/active_record-tableless_model.rb

Instance Method Summary collapse

Instance Method Details

#column(name, sql_type = :text, default = nil, null = true) ⇒ Object

Creates an attribute corresponding to a database column. N.B No table is created in the database

Arguments

name

column name, such as supplier_id in supplier_id int(11).

default

type-casted default value, such as new in sales_stage varchar(20) default ‘new’.

sql_type

used to extract the column length, if necessary. For example 60 in company_name varchar(60). null determines if this column allows NULL values.

Usage

class Task < ActiveRecord::Base
  no_table 
  column :description,  :text
  column :description,  :string, 'foo', false
end


31
32
33
# File 'lib/active_record-tableless_model.rb', line 31

def column(name, sql_type = :text, default = nil, null = true)  
  columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, sql_type.to_s, null)  
end

#columnsObject

Returns an array of column objects associated with this class.



12
13
14
# File 'lib/active_record-tableless_model.rb', line 12

def columns
  @columns ||= []
end