Class: ActiveRecord::Generators::RolifyGenerator
- Inherits:
-
Base
- Object
- Base
- ActiveRecord::Generators::RolifyGenerator
- Defined in:
- lib/generators/active_record/rolify_generator.rb
Instance Method Summary collapse
- #copy_rolify_migration ⇒ Object
- #generate_model ⇒ Object
- #inject_role_class ⇒ Object
- #join_table ⇒ Object
- #model_content ⇒ Object
- #model_path ⇒ Object
- #role_reference ⇒ Object
- #user_reference ⇒ Object
Instance Method Details
#copy_rolify_migration ⇒ Object
19 20 21 |
# File 'lib/generators/active_record/rolify_generator.rb', line 19 def copy_rolify_migration migration_template "migration.rb", "db/migrate/rolify_create_#{table_name}" end |
#generate_model ⇒ Object
11 12 13 |
# File 'lib/generators/active_record/rolify_generator.rb', line 11 def generate_model invoke "active_record:model", [ name ], :migration => false end |
#inject_role_class ⇒ Object
15 16 17 |
# File 'lib/generators/active_record/rolify_generator.rb', line 15 def inject_role_class inject_into_class(model_path, class_name, model_content) end |
#join_table ⇒ Object
23 24 25 |
# File 'lib/generators/active_record/rolify_generator.rb', line 23 def join_table user_cname.constantize.table_name + "_" + table_name end |
#model_content ⇒ Object
39 40 41 42 43 44 45 46 47 |
# File 'lib/generators/active_record/rolify_generator.rb', line 39 def model_content content = <<RUBY has_and_belongs_to_many :%{user_cname}, :join_table => :%{join_table} belongs_to :resource, :polymorphic => true scopify RUBY content % { :user_cname => user_cname.constantize.table_name, :join_table => "#{user_cname.constantize.table_name}_#{table_name}"} end |
#model_path ⇒ Object
35 36 37 |
# File 'lib/generators/active_record/rolify_generator.rb', line 35 def model_path File.join("app", "models", "#{file_path}.rb") end |
#role_reference ⇒ Object
31 32 33 |
# File 'lib/generators/active_record/rolify_generator.rb', line 31 def role_reference class_name.demodulize.underscore end |
#user_reference ⇒ Object
27 28 29 |
# File 'lib/generators/active_record/rolify_generator.rb', line 27 def user_reference user_cname.demodulize.underscore end |