Class: SqlGenius::Core::IndexDefinition

Inherits:
Object
  • Object
show all
Defined in:
lib/sql_genius/core/index_definition.rb

Overview

Index metadata as returned by Core::Connection#indexes_for. Mirrors the subset of ActiveRecord::ConnectionAdapters::IndexDefinition that the analyses rely on.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, columns:, unique:) ⇒ IndexDefinition

Returns a new instance of IndexDefinition.



11
12
13
14
15
16
# File 'lib/sql_genius/core/index_definition.rb', line 11

def initialize(name:, columns:, unique:)
  @name = name
  @columns = columns.freeze
  @unique = unique
  freeze
end

Instance Attribute Details

#columnsObject (readonly)

Returns the value of attribute columns.



9
10
11
# File 'lib/sql_genius/core/index_definition.rb', line 9

def columns
  @columns
end

#nameObject (readonly)

Returns the value of attribute name.



9
10
11
# File 'lib/sql_genius/core/index_definition.rb', line 9

def name
  @name
end

#uniqueObject (readonly)

Returns the value of attribute unique.



9
10
11
# File 'lib/sql_genius/core/index_definition.rb', line 9

def unique
  @unique
end

Instance Method Details

#unique?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/sql_genius/core/index_definition.rb', line 18

def unique?
  @unique
end