Class: ActiveRecord::ConnectionAdapters::TableDefinition
- Inherits:
-
Object
- Object
- ActiveRecord::ConnectionAdapters::TableDefinition
- Defined in:
- lib/active_record/connection_adapters/abstract_adapter.rb
Instance Attribute Summary collapse
-
#columns ⇒ Object
Returns the value of attribute columns.
Instance Method Summary collapse
- #column(name, type, options = {}) ⇒ Object
-
#initialize(base) ⇒ TableDefinition
constructor
A new instance of TableDefinition.
- #primary_key(name) ⇒ Object
- #to_sql ⇒ Object
Constructor Details
#initialize(base) ⇒ TableDefinition
Returns a new instance of TableDefinition.
502 503 504 505 |
# File 'lib/active_record/connection_adapters/abstract_adapter.rb', line 502 def initialize(base) @columns = [] @base = base end |
Instance Attribute Details
#columns ⇒ Object
Returns the value of attribute columns.
500 501 502 |
# File 'lib/active_record/connection_adapters/abstract_adapter.rb', line 500 def columns @columns end |
Instance Method Details
#column(name, type, options = {}) ⇒ Object
512 513 514 515 516 517 518 519 |
# File 'lib/active_record/connection_adapters/abstract_adapter.rb', line 512 def column(name, type, = {}) limit = [:limit] || native[type.to_sym][:limit] column_sql = "#{name} #{type_to_sql(type.to_sym, [:limit])}" column_sql << " DEFAULT '#{[:default]}'" if [:default] @columns << column_sql self end |
#primary_key(name) ⇒ Object
507 508 509 510 |
# File 'lib/active_record/connection_adapters/abstract_adapter.rb', line 507 def primary_key(name) @columns << "#{name} #{native[:primary_key]}" self end |
#to_sql ⇒ Object
521 522 523 |
# File 'lib/active_record/connection_adapters/abstract_adapter.rb', line 521 def to_sql @columns.join(", ") end |