Class: ActiveRecord::Generators::RolesMigrationGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Includes:
Rails::Migration::Assist
Defined in:
lib/generators/active_record/roles_migration/roles_migration_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



17
18
19
# File 'lib/generators/active_record/roles_migration/roles_migration_generator.rb', line 17

def self.source_root
  @source_root ||= File.expand_path("../templates", __FILE__)
end

Instance Method Details

#run_migrationObject



28
29
30
31
32
33
34
# File 'lib/generators/active_record/roles_migration/roles_migration_generator.rb', line 28

def run_migration    
  migration_name = "add_#{strategy}_strategy"
  target_migration_name = reverse? ? reverse_migration_name(migration_name) : migration_name
  migration_template "#{migration_name}.erb", "db/migrations/#{target_migration_name}" 
  generated_migration = latest_migration_file(migration_dir, target_migration_name)
  reverse_migration!(generated_migration) if generated_migration && reverse?
end

#valid_strategy?Boolean

Returns:

  • (Boolean)


21
22
23
24
25
26
# File 'lib/generators/active_record/roles_migration/roles_migration_generator.rb', line 21

def valid_strategy?
  if !strategies.include?(strategy.to_sym)
    info "Unknown role strategy #{strategy}"
    raise ArgumentError, "Unknown role strategy #{strategy}"
  end
end