class ActiveRecord::Generators::RolifyGenerator
Public Instance Methods
copy_rolify_migration()
click to toggle source
# File lib/generators/active_record/rolify_generator.rb, line 37 def copy_rolify_migration migration_template "migration.rb", "db/migrate/rolify_create_#{table_name}.rb", migration_version: migration_version end
ensure_user_class_defined()
click to toggle source
# File lib/generators/active_record/rolify_generator.rb, line 12 def ensure_user_class_defined unless user_class_defined? prompt_missing_user abort end end
generate_model()
click to toggle source
# File lib/generators/active_record/rolify_generator.rb, line 19 def generate_model invoke "active_record:model", [ name ], :migration => false end
inject_role_class()
click to toggle source
# File lib/generators/active_record/rolify_generator.rb, line 23 def inject_role_class if args[1]=="engine" if args[2]=="devise" require 'devise' require "#{ENGINE_ROOT}/config/initializers/devise.rb" require "#{ENGINE_ROOT}/app/models/#{user_cname.downcase}.rb" else require "#{ENGINE_ROOT}/app/models/#{user_cname.downcase}.rb" end end inject_into_class(model_path, class_name, model_content) end
Private Instance Methods
join_table()
click to toggle source
# File lib/generators/active_record/rolify_generator.rb, line 43 def join_table user_class.table_name + "_" + table_name end
migration_version()
click to toggle source
# File lib/generators/active_record/rolify_generator.rb, line 89 def migration_version if versioned_migrations? "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]" end end
model_content()
click to toggle source
# File lib/generators/active_record/rolify_generator.rb, line 59 def model_content ERB.new(File.read(File.join(__dir__, 'templates/model.rb'))).result(binding) end
model_path()
click to toggle source
# File lib/generators/active_record/rolify_generator.rb, line 55 def model_path File.join("app", "models", "#{file_path}.rb") end
prompt_missing_user()
click to toggle source
# File lib/generators/active_record/rolify_generator.rb, line 78 def prompt_missing_user puts <<MSG Rolify expected a model named #{user_cname} to be defined but could not find one. Please ensure that this model exists and is not mis-spelled and re-run the generator. MSG end
role_reference()
click to toggle source
# File lib/generators/active_record/rolify_generator.rb, line 51 def role_reference class_name.demodulize.underscore end
user_class()
click to toggle source
# File lib/generators/active_record/rolify_generator.rb, line 63 def user_class user_cname.constantize end
user_class_defined?()
click to toggle source
# File lib/generators/active_record/rolify_generator.rb, line 67 def user_class_defined? user_class true rescue NameError => ex if ex.missing_name == user_cname false else raise ex end end
user_reference()
click to toggle source
# File lib/generators/active_record/rolify_generator.rb, line 47 def user_reference user_cname.demodulize.underscore end
versioned_migrations?()
click to toggle source
# File lib/generators/active_record/rolify_generator.rb, line 85 def versioned_migrations? Rails::VERSION::MAJOR >= 5 end