class UniqIdentifier::Generators::AddGenerator

Public Class Methods

next_migration_number(path) click to toggle source
# File lib/generators/uniq_identifier/add_generator.rb, line 12
def self.next_migration_number(path)
  ActiveRecord::Generators::Base.next_migration_number(path)
end

Public Instance Methods

add_migration_file() click to toggle source
# File lib/generators/uniq_identifier/add_generator.rb, line 22
def add_migration_file
  migration_template 'migration.rb', "db/migrate/add_uuid_#{file_path}.rb" if options.orm == :active_record

  hook   = 'uniq_identifier'
  data   = "\n"
  data += indent("#{hook}")

  if options.orm == 'mongoid'
    data += "\n"
    data += indent("field :uuid, type: String")
  end

  if options.orm == :active_record
    header = "class #{class_name} < ActiveRecord::Base"
  else
    header = 'include Mongoid::Document'
  end

  model_path = File.join('app', 'models', "#{file_path}.rb")
  inject_into_file model_path, data, after: header, verbose: true

  readme("./README-#{options.orm}")
end