Module: ActiveRecord::Base::TablelessModel::ClassMethods
- Defined in:
- lib/active_record-tableless_model.rb
Instance Method Summary collapse
-
#column(name, sql_type = :text, default = nil, null = true) ⇒ Object
Creates an attribute corresponding to a database column.
-
#columns ⇒ Object
Returns an array of column objects associated with this class.
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 |
#columns ⇒ Object
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 |