Sha256: 6cde24a9f113a76bda380fbca7482f61466e1e9c77d681b4b437675f3bb2db5d

Contents?: true

Size: 774 Bytes

Versions: 1

Compression:

Stored size: 774 Bytes

Contents

require "rails/generators/migration"

class IndexGenerator < Rails::Generators::Base
  include Rails::Generators::Migration
  source_root File.expand_path("../templates", __FILE__)
  argument :table, type: :string
  argument :columns, type: :array

  # Implement the required interface for Rails::Generators::Migration.
  def self.next_migration_number(dirname) #:nodoc:
    next_migration_number = current_migration_number(dirname) + 1
    if ::ActiveRecord::Base.timestamped_migrations
      [Time.now.utc.strftime("%Y%m%d%H%M%S"), "%.14d" % next_migration_number].max
    else
      "%.3d" % next_migration_number
    end
  end

  def copy_migration
    migration_template "index_migration.rb", "db/migrate/add_index_on_#{columns.join('_and_')}_to_#{table}.rb"
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gindex-0.1.1 lib/generators/index/index_generator.rb