Class: Rolify::Generators::RoleGenerator

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(path) ⇒ Object



32
33
34
# File 'lib/generators/rolify/role/role_generator.rb', line 32

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

Instance Method Details

#copy_role_fileObject



23
24
25
26
# File 'lib/generators/rolify/role/role_generator.rb', line 23

def copy_role_file
  template "initializer.rb", "config/initializers/rolify.rb"
  migration_template "migration.rb", "db/migrate/rolify_create_#{role_cname.tableize}" if orm_adapter == "active_record"
end

#generate_roleObject



16
17
18
19
20
21
# File 'lib/generators/rolify/role/role_generator.rb', line 16

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

#inject_rolify_methodObject



40
41
42
43
44
45
46
# File 'lib/generators/rolify/role/role_generator.rb', line 40

def inject_rolify_method
  if orm_adapter == "active_record"
    /class #{user_cname.camelize}\n|class #{user_cname.camelize} .*\n/
  else
    /include Mongoid::Document\n|include Mongoid::Document .*\n/
  end
end

#model_pathObject



28
29
30
# File 'lib/generators/rolify/role/role_generator.rb', line 28

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

#show_readmeObject



36
37
38
# File 'lib/generators/rolify/role/role_generator.rb', line 36

def show_readme
  readme "README-#{orm_adapter}" if behavior == :invoke
end