Class: RoleFu::Generators::AbilitiesGenerator
- Inherits:
-
ActiveRecord::Generators::Base
- Object
- ActiveRecord::Generators::Base
- RoleFu::Generators::AbilitiesGenerator
- Defined in:
- lib/generators/role_fu/abilities_generator.rb
Class Method Summary collapse
Instance Method Summary collapse
- #create_abilities_migration ⇒ Object
- #generate_permission_model ⇒ Object
- #inject_into_role_model ⇒ Object
- #inject_into_user_model ⇒ Object
Class Method Details
.banner ⇒ Object
12 13 14 15 16 |
# File 'lib/generators/role_fu/abilities_generator.rb', line 12 def self. "bin/rails generate role_fu:abilities [NAME] [options]\n\n" \ "Generates the permission model and migration.\n" \ " NAME is the name of the permission model (default: 'abilities')." end |
Instance Method Details
#create_abilities_migration ⇒ Object
24 25 26 |
# File 'lib/generators/role_fu/abilities_generator.rb', line 24 def create_abilities_migration migration_template "abilities_migration.rb.erb", "db/migrate/role_fu_create_permissions.rb" end |
#generate_permission_model ⇒ Object
20 21 22 |
# File 'lib/generators/role_fu/abilities_generator.rb', line 20 def template "permission.rb.erb", "app/models/permission.rb" end |
#inject_into_role_model ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/generators/role_fu/abilities_generator.rb', line 28 def inject_into_role_model role_cname = RoleFu.configuration.role_class_name path = "app/models/#{role_cname.underscore}.rb" if File.exist?(path) inject_into_class(path, role_cname.constantize) do " has_many :permissions, dependent: :destroy\n" end else say "Role model #{role_cname} not found. Please add 'has_many :permissions' manually." end end |
#inject_into_user_model ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/generators/role_fu/abilities_generator.rb', line 41 def inject_into_user_model user_cname = RoleFu.configuration.user_class_name path = "app/models/#{user_cname.underscore}.rb" if File.exist?(path) inject_into_class(path, user_cname.constantize) do " include RoleFu::Ability\n" end else say "User model #{user_cname} not found. Please add 'include RoleFu::Ability' manually." end end |