class PaperTrailAssociationTracking::InstallGenerator
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/install_generator.rb, line 36 def self.next_migration_number(dirname) ::ActiveRecord::Generators::Base.next_migration_number(dirname) end
Public Instance Methods
create_initializer()
click to toggle source
# File lib/generators/paper_trail_association_tracking/install_generator.rb, line 28 def create_initializer create_file( "config/initializers/paper_trail.rb", "PaperTrail.config.track_associations = true\n", "PaperTrail.config.association_reify_error_behaviour = :error" ) end
create_migrations()
click to toggle source
# File lib/generators/paper_trail_association_tracking/install_generator.rb, line 23 def create_migrations add_paper_trail_migration("create_version_associations") add_paper_trail_migration("add_transaction_id_column_to_versions") end
Protected Instance Methods
add_paper_trail_migration(template)
click to toggle source
# File lib/generators/paper_trail_association_tracking/install_generator.rb, line 42 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/install_generator.rb, line 57 def migration_version "[#{ActiveRecord::VERSION::MAJOR}.#{ActiveRecord::VERSION::MINOR}]" end