Class: PaperTrail::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/paper_trail/install_generator.rb

Overview

Installs PaperTrail in a rails app.

Constant Summary collapse

MYSQL_ADAPTERS =

Class names of MySQL adapters.

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

  • Mysql2Adapter - Used by mysql2 gem.

[
  "ActiveRecord::ConnectionAdapters::MysqlAdapter",
  "ActiveRecord::ConnectionAdapters::Mysql2Adapter"
].freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object



50
51
52
# File 'lib/generators/paper_trail/install_generator.rb', line 50

def self.next_migration_number(dirname)
  ::ActiveRecord::Generators::Base.next_migration_number(dirname)
end

Instance Method Details

#create_initializerObject



43
44
45
46
47
48
# File 'lib/generators/paper_trail/install_generator.rb', line 43

def create_initializer
  create_file(
    "config/initializers/paper_trail.rb",
    "PaperTrail.config.track_associations = #{!!options.with_associations?}\n"
  )
end

#create_migration_fileObject



34
35
36
37
38
39
40
41
# File 'lib/generators/paper_trail/install_generator.rb', line 34

def create_migration_file
  add_paper_trail_migration("create_versions")
  add_paper_trail_migration("add_object_changes_to_versions") if options.with_changes?
  if options.with_associations?
    add_paper_trail_migration("create_version_associations")
    add_paper_trail_migration("add_transaction_id_column_to_versions")
  end
end