Class: ActiveRecord::ConnectionAdapters::MySQL::IndexDefinition

Inherits:
IndexDefinition
  • Object
show all
Defined in:
lib/active_record/connection_adapters/mysql/schema_definitions.rb

Overview

Active Record MySQL Adapter Index Definition

Instance Attribute Summary collapse

Attributes inherited from IndexDefinition

#columns, #comment, #include, #lengths, #name, #nulls_not_distinct, #opclasses, #orders, #table, #type, #unique, #using, #valid, #where

Instance Method Summary collapse

Methods inherited from IndexDefinition

#column_options, #valid?

Constructor Details

#initialize(*args, **kwargs) ⇒ IndexDefinition

Returns a new instance of IndexDefinition.



54
55
56
57
# File 'lib/active_record/connection_adapters/mysql/schema_definitions.rb', line 54

def initialize(*args, **kwargs)
  @enabled = kwargs.key?(:enabled) ? kwargs.delete(:enabled) : true
  super
end

Instance Attribute Details

#enabledObject

:nodoc:



52
53
54
# File 'lib/active_record/connection_adapters/mysql/schema_definitions.rb', line 52

def enabled
  @enabled
end

Instance Method Details

#defined_for?(columns = nil, name: nil, unique: nil, valid: nil, include: nil, nulls_not_distinct: nil, enabled: nil, **options) ⇒ Boolean

Returns:

  • (Boolean)


59
60
61
62
# File 'lib/active_record/connection_adapters/mysql/schema_definitions.rb', line 59

def defined_for?(columns = nil, name: nil, unique: nil, valid: nil, include: nil, nulls_not_distinct: nil, enabled: nil, **options)
  super(columns, name:, unique:, valid:, include:, nulls_not_distinct:, **options) &&
    (enabled.nil? || self.enabled == enabled)
end

#disabled?Boolean

Returns:

  • (Boolean)


64
65
66
# File 'lib/active_record/connection_adapters/mysql/schema_definitions.rb', line 64

def disabled?
  !@enabled
end