class PaperTrailAssociationTracking::AddForeignTypeToVersionAssociationsGenerator

Installs PaperTrail in a rails app.

Constants

MYSQL_ADAPTERS

Class names of MySQL adapters.

  • `MysqlAdapter` - Used by gems: `mysql`, `activerecord-jdbcmysql-adapter`.

  • `Mysql2Adapter` - Used by `mysql2` gem.

Public Class Methods

next_migration_number(dirname) click to toggle source
# File lib/generators/paper_trail_association_tracking/add_foreign_type_to_version_associations_generator.rb, line 27
def self.next_migration_number(dirname)
  ::ActiveRecord::Generators::Base.next_migration_number(dirname)
end

Public Instance Methods

create_migrations() click to toggle source
# File lib/generators/paper_trail_association_tracking/add_foreign_type_to_version_associations_generator.rb, line 23
def create_migrations
  add_paper_trail_migration("add_foreign_type_to_version_associations")
end

Protected Instance Methods

add_paper_trail_migration(template) click to toggle source
# File lib/generators/paper_trail_association_tracking/add_foreign_type_to_version_associations_generator.rb, line 33
def add_paper_trail_migration(template)
  migration_dir = File.expand_path("db/migrate")
  if self.class.migration_exists?(migration_dir, template)
    ::Kernel.warn "Migration already exists: #{template}"
  else
    migration_template(
      "#{template}.rb.erb",
      "db/migrate/#{template}.rb",
      migration_version: migration_version
    )
  end
end

Private Instance Methods

migration_version() click to toggle source
# File lib/generators/paper_trail_association_tracking/add_foreign_type_to_version_associations_generator.rb, line 48
def migration_version
  "[#{ActiveRecord::VERSION::MAJOR}.#{ActiveRecord::VERSION::MINOR}]"
end