Class: PaperTrailActor::InstallGenerator

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

Constant Summary collapse

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object



17
18
19
# File 'lib/generators/paper_trail_actor/install_generator.rb', line 17

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

Instance Method Details

#actor_table_nameObject



42
43
44
# File 'lib/generators/paper_trail_actor/install_generator.rb', line 42

def actor_table_name
  PaperTrailActor::Constants::ACTOR_TABLE_NAME
end

#copy_initializer_fileObject



24
25
26
# File 'lib/generators/paper_trail_actor/install_generator.rb', line 24

def copy_initializer_file
  copy_file "paper_trail_actor_config_template.rb", "config/initializers/paper_trail_actor.rb"
end

#create_migration_fileObject



28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/generators/paper_trail_actor/install_generator.rb', line 28

def create_migration_file
  migration_dir = File.expand_path("db/migrate")
  if self.class.migration_exists?(migration_dir, "create_paper_trail_actors")
    ::Kernel.warn "Migration already exists: create_paper_trail_actors"
  else
    migration_template(
      "paper_trail_actor_migration_template.rb",
      "db/migrate/create_paper_trail_actors.rb",
      actor_table_name: actor_table_name,
      migration_version: migration_version
    )
  end
end

#migration_versionObject



46
47
48
49
50
51
# File 'lib/generators/paper_trail_actor/install_generator.rb', line 46

def migration_version
  major = ActiveRecord::VERSION::MAJOR
  if major >= 5
    "[#{major}.#{ActiveRecord::VERSION::MINOR}]"
  end
end