Class: StandardAudit::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- StandardAudit::Generators::InstallGenerator
- Includes:
- Rails::Generators::Migration
- Defined in:
- lib/generators/standard_audit/install/install_generator.rb
Overview
Installs StandardAudit in a host Rails application.
Creates the migration for the ‘audit_logs` table and writes the initializer at `config/initializers/standard_audit.rb`.
Idempotent: re-running the generator will skip pieces it has already installed. Pass ‘–skip-*` flags to opt out of individual steps and `–force` to overwrite an existing initializer.
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.next_migration_number(dirname) ⇒ Object
35 36 37 |
# File 'lib/generators/standard_audit/install/install_generator.rb', line 35 def self.next_migration_number(dirname) Time.now.utc.strftime("%Y%m%d%H%M%S") end |
Instance Method Details
#copy_initializer ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/generators/standard_audit/install/install_generator.rb', line 57 def copy_initializer initializer_path = "config/initializers/standard_audit.rb" if [:skip_initializer] say_status("skip", "#{initializer_path} (--skip-initializer)", :yellow) return end if File.exist?(File.join(destination_root, initializer_path)) && ![:force] say_status("identical", "#{initializer_path} (already exists; pass --force to overwrite)", :blue) return end template "initializer.rb.erb", initializer_path, force: [:force] end |
#copy_migration ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/generators/standard_audit/install/install_generator.rb', line 39 def copy_migration if [:skip_migration] say_status("skip", "db/migrate/*_create_audit_logs.rb (--skip-migration)", :yellow) return end if existing_migration say_status( "identical", "AuditLog migration already present (#{relative_migration_path(existing_migration)}), skipping", :blue ) return end migration_template "create_audit_logs.rb.erb", "db/migrate/create_audit_logs.rb" end |