Class: Groonga::Schema::ColumnRenameDefinition

Inherits:
Object
  • Object
show all
Includes:
Path
Defined in:
lib/groonga/schema.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Path

#columns_directory_path, #rmdir_if_available, #tables_directory_path

Constructor Details

#initialize(current_name, new_name, options = {}) ⇒ ColumnRenameDefinition

Returns a new instance of ColumnRenameDefinition.



1582
1583
1584
1585
1586
1587
1588
# File 'lib/groonga/schema.rb', line 1582

def initialize(current_name, new_name, options={})
  @current_name = current_name
  @current_name = @current_name.to_s if @current_name.is_a?(Symbol)
  @new_name = new_name
  @new_name = @new_name.to_s if @new_name.is_a?(Symbol)
  @options = (options || {}).dup
end

Instance Attribute Details

#current_nameObject

Returns the value of attribute current_name.



1579
1580
1581
# File 'lib/groonga/schema.rb', line 1579

def current_name
  @current_name
end

#new_nameObject

Returns the value of attribute new_name.



1579
1580
1581
# File 'lib/groonga/schema.rb', line 1579

def new_name
  @new_name
end

#optionsObject (readonly)

Returns the value of attribute options.



1580
1581
1582
# File 'lib/groonga/schema.rb', line 1580

def options
  @options
end

Instance Method Details

#define(table_definition, table) ⇒ Object



1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
# File 'lib/groonga/schema.rb', line 1590

def define(table_definition, table)
  if @current_name.respond_to?(:call)
    current_name = @current_name.call(table_definition.context)
  else
    current_name = @current_name
  end
  column = table.column(current_name)

  if column.nil?
    raise ColumnNotExists.new(name)
  end

  column.rename(@new_name)
end