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.
496 497 498 499 |
# File 'lib/active_record/connection_adapters/abstract_adapter.rb', line 496 def initialize(base) @columns = [] @base = base end |
Instance Attribute Details
#columns ⇒ Object
Returns the value of attribute columns.
494 495 496 |
# File 'lib/active_record/connection_adapters/abstract_adapter.rb', line 494 def columns @columns end |
Instance Method Details
#column(name, type, options = {}) ⇒ Object
506 507 508 509 510 511 512 513 |
# File 'lib/active_record/connection_adapters/abstract_adapter.rb', line 506 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
501 502 503 504 |
# File 'lib/active_record/connection_adapters/abstract_adapter.rb', line 501 def primary_key(name) @columns << "#{name} #{native[:primary_key]}" self end |
#to_sql ⇒ Object
515 516 517 |
# File 'lib/active_record/connection_adapters/abstract_adapter.rb', line 515 def to_sql @columns.join(", ") end |