class Shaf::Generator::Migration::AddColumn

Public Instance Methods

add_columns_change() click to toggle source
# File lib/shaf/generator/migration/add_column.rb, line 36
def add_columns_change
  cols = columns.map { |s| column_def(s, create: false) }
  [
    "alter_table(:#{table_name}) do",
    *cols.map { |col| col.prepend("  ") }, # indent body with 2 spaces
    "end\n"
  ]
end
columns() click to toggle source
# File lib/shaf/generator/migration/add_column.rb, line 32
def columns
  args[1..-1]
end
compile_changes() click to toggle source
# File lib/shaf/generator/migration/add_column.rb, line 28
def compile_changes
  add_change add_columns_change
end
compile_migration_name() click to toggle source
# File lib/shaf/generator/migration/add_column.rb, line 19
def compile_migration_name
  cols = columns.map { |c| c.split(':').first }
  "add_#{cols.join('_')}_to_#{table_name}"
end
table_name() click to toggle source
# File lib/shaf/generator/migration/add_column.rb, line 24
def table_name
  args.first
end
validate_args() click to toggle source
# File lib/shaf/generator/migration/add_column.rb, line 9
def validate_args
  if (table_name || "").empty?
    raise "Please provide a table and at least " \
      "one column when generation add column migration"
  elsif args.size < 2 || (args[1] || "").empty?
    raise "Please provide at least one column when " \
      "generation add column migration"
  end
end