Class: ActiveRecord::ConnectionAdapters::IndexDefinition
- Inherits:
-
Object
- Object
- ActiveRecord::ConnectionAdapters::IndexDefinition
- Defined in:
- lib/active_record/connection_adapters/abstract/schema_definitions.rb
Overview
Abstract representation of an index definition on a table. Instances of this type are typically created and returned by methods in database adapters. e.g. ActiveRecord::ConnectionAdapters::MySQL::SchemaStatements#indexes
Instance Attribute Summary collapse
-
#columns ⇒ Object
readonly
:nodoc:.
-
#comment ⇒ Object
readonly
:nodoc:.
-
#lengths ⇒ Object
readonly
:nodoc:.
-
#name ⇒ Object
readonly
:nodoc:.
-
#opclasses ⇒ Object
readonly
:nodoc:.
-
#orders ⇒ Object
readonly
:nodoc:.
-
#table ⇒ Object
readonly
:nodoc:.
-
#type ⇒ Object
readonly
:nodoc:.
-
#unique ⇒ Object
readonly
:nodoc:.
-
#using ⇒ Object
readonly
:nodoc:.
-
#where ⇒ Object
readonly
:nodoc:.
Instance Method Summary collapse
- #column_options ⇒ Object
-
#initialize(table, name, unique = false, columns = [], lengths: {}, orders: {}, opclasses: {}, where: nil, type: nil, using: nil, comment: nil) ⇒ IndexDefinition
constructor
A new instance of IndexDefinition.
Constructor Details
#initialize(table, name, unique = false, columns = [], lengths: {}, orders: {}, opclasses: {}, where: nil, type: nil, using: nil, comment: nil) ⇒ IndexDefinition
Returns a new instance of IndexDefinition.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 11 def initialize( table, name, unique = false, columns = [], lengths: {}, orders: {}, opclasses: {}, where: nil, type: nil, using: nil, comment: nil ) @table = table @name = name @unique = unique @columns = columns @lengths = (lengths) @orders = (orders) @opclasses = (opclasses) @where = where @type = type @using = using @comment = comment end |
Instance Attribute Details
#columns ⇒ Object (readonly)
:nodoc:
9 10 11 |
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 9 def columns @columns end |
#comment ⇒ Object (readonly)
:nodoc:
9 10 11 |
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 9 def comment @comment end |
#lengths ⇒ Object (readonly)
:nodoc:
9 10 11 |
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 9 def lengths @lengths end |
#name ⇒ Object (readonly)
:nodoc:
9 10 11 |
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 9 def name @name end |
#opclasses ⇒ Object (readonly)
:nodoc:
9 10 11 |
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 9 def opclasses @opclasses end |
#orders ⇒ Object (readonly)
:nodoc:
9 10 11 |
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 9 def orders @orders end |
#table ⇒ Object (readonly)
:nodoc:
9 10 11 |
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 9 def table @table end |
#type ⇒ Object (readonly)
:nodoc:
9 10 11 |
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 9 def type @type end |
#unique ⇒ Object (readonly)
:nodoc:
9 10 11 |
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 9 def unique @unique end |
#using ⇒ Object (readonly)
:nodoc:
9 10 11 |
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 9 def using @using end |
#where ⇒ Object (readonly)
:nodoc:
9 10 11 |
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 9 def where @where end |
Instance Method Details
#column_options ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 36 def { length: lengths, order: orders, opclass: opclasses, } end |