Class: Liquigen::Handlers::AddIndex

Inherits:
CreateTable show all
Defined in:
lib/liquigen/handlers/add_index.rb

Instance Attribute Summary

Attributes inherited from CreateTable

#columns, #table_name

Instance Method Summary collapse

Methods inherited from CreateTable

#initialize

Constructor Details

This class inherits a constructor from Liquigen::CreateTable

Instance Method Details

#action_nameObject



5
6
7
# File 'lib/liquigen/handlers/add_index.rb', line 5

def action_name
  'AddIndex'
end

#build_one_changeset(set) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/liquigen/handlers/add_index.rb', line 20

def build_one_changeset(set)
  change = Liquigen::CreateIndex.new(table)
  set.changes << change
  props.each { |kv| change.columns << build_column(kv) }

  column_names = props.map { |x| x.split(':')[0] }.uniq.join('_')

  change.index_name = "idx_#{table.underscore.pluralize}_#{column_names}"
end

#constraints?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/liquigen/handlers/add_index.rb', line 30

def constraints?
  false
end

#file_suffixObject

Add Column



10
11
12
13
14
15
16
17
18
# File 'lib/liquigen/handlers/add_index.rb', line 10

def file_suffix
  table.capitalize

  columns = props.map do |item|
    item.split(':')[0].camelize
  end.uniq.join('And')

  "On#{table.capitalize}_#{columns}"
end