Class: Roles::Generators::RoleGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/roles/role/role_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(path) ⇒ Object



29
30
31
# File 'lib/generators/roles/role/role_generator.rb', line 29

def self.next_migration_number(path)
  Time.now.utc.strftime("%Y%m%d%H%M%S")
end

Instance Method Details

#copy_role_fileObject



21
22
23
# File 'lib/generators/roles/role/role_generator.rb', line 21

def copy_role_file
  migration_template "migration.rb", "db/migrate/roles_create_#{role_cname.tableize}"
end

#generate_roleObject



14
15
16
17
18
19
# File 'lib/generators/roles/role/role_generator.rb', line 14

def generate_role
  template "role-active_record.rb", "app/models/#{role_cname.underscore}.rb"
  inject_into_file(model_path, :after => inject_roles_method) do
    "  rolify" + (role_cname == "Role" ? "" : " :role_cname => '#{role_cname.camelize}'") + "\n"
  end
end

#inject_roles_methodObject



37
38
39
# File 'lib/generators/roles/role/role_generator.rb', line 37

def inject_roles_method
  /class #{user_cname.camelize}\n|class #{user_cname.camelize} .*\n/
end

#model_pathObject



25
26
27
# File 'lib/generators/roles/role/role_generator.rb', line 25

def model_path
  File.join("app", "models", "#{user_cname.underscore}.rb")
end

#show_readmeObject



33
34
35
# File 'lib/generators/roles/role/role_generator.rb', line 33

def show_readme
  readme "README-active_record" if behavior == :invoke
end