Class: MigrationDefs::AddColumnFunc

Inherits:
AbstractMigrationClass show all
Defined in:
lib/migration_defs.rb

Direct Known Subclasses

ChangeColumnFunc

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ AddColumnFunc

Returns a new instance of AddColumnFunc.



352
353
354
# File 'lib/migration_defs.rb', line 352

def initialize(name)
  @name = name
end

Instance Attribute Details

#columnObject

Returns the value of attribute column.



350
351
352
# File 'lib/migration_defs.rb', line 350

def column
  @column
end

#nameObject

Returns the value of attribute name.



350
351
352
# File 'lib/migration_defs.rb', line 350

def name
  @name
end

Instance Method Details

#add_column(type, name = '') ⇒ Object



356
357
358
# File 'lib/migration_defs.rb', line 356

def add_column(type, name = '')
  @column = Column.new(type, name)
end

#get_strObject



373
374
375
376
377
378
379
380
381
382
383
# File 'lib/migration_defs.rb', line 373

def get_str
  if @column.nil?
      return "add_column :#{@name}\n"
  else
    if (@column.type != 'timestamps') && (@column.type != 'attachment') && (@column.type != 'belongs_to')
      return "add_column :#{@name}" + (@column.name.blank? ? "\n" : ", :#{@column.name}, :#{@column.type}#{@column.option.get_str}\n")
    else
      return "add_column :#{@name}, #{:@column.type}\n"
    end
  end
end

#parse_from_params(parse_params) ⇒ Object



360
361
362
363
364
365
366
367
368
369
370
371
# File 'lib/migration_defs.rb', line 360

def parse_from_params(parse_params)
  if (parse_params[:type] != 'timestamps') && (parse_params[:type] != 'attachment') && (parse_params[:type] != 'belongs_to')
    @column = add_column(parse_params[:type], parse_params[:column])
    @column.set_option 'limit', parse_params[:limit]
    @column.set_option 'default', parse_params[:default]
    @column.set_option 'null', parse_params[:null]
    @column.set_option 'precision', parse_params[:precision]
    @column.set_option 'scale', parse_params[:scale]
  else
    add_column(parse_params[:type])
  end
end