class Acl9::SetupGenerator
Public Instance Methods
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 27 def create_initializer initializer "acl9.rb" do <<-RUBY.strip_heredoc # See https://github.com/be9/acl9#configuration for details # # Acl9.configure do |c| # c.default_role_class_name = 'Role' # c.default_subject_class_name = 'User' # c.default_subject_method = :current_user # c.default_association_name = :role_objects # c.default_join_table_name = nil # c.protect_global_roles = true # c.normalize_role_names = true # end RUBY end end
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 13 def create_migration_file migration_template "create_role_tables.rb", File.join(db_migrate_path, "create_#{role_name}_tables.rb") end
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 17 def create_models template "role.rb", "app/models/#{role_name}.rb" objects.each do |object| my_inject "app/models/#{object}.rb", object.classify, " #{object_helper}\n" end my_inject "app/models/#{subject_name}.rb", subject_class_name, " #{subject_helper}\n" end
Private Instance Methods
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 66 def habtm_table Acl9.config.default_join_table_name || [ subject_name, role_name ].map(&:pluralize).sort.join('_') end
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 58 def model_base_name r5? ? ApplicationRecord : ActiveRecord::Base end
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 82 def my_inject file_name, class_name, string inject_into_class file_name, class_name, string rescue Errno::ENOENT create_file file_name do <<-RUBY.strip_heredoc class #{class_name} < ActiveRecord::Base #{string} end RUBY end end
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 74 def object_helper "acts_as_authorization_object" + ( object_options ? " #{object_options}" : '' ) end
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 106 def object_options [ role_options, subject_options ].compact.join ', ' end
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 114 def objects @objects ||= arg_objects.map{|o|o.underscore.singularize} end
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 62 def r5? Rails.gem_version >= Gem::Version.new(5) end
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 54 def role_class_name role_name.classify end
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 78 def role_helper "acts_as_authorization_role" + ( role_options ? " #{role_options}" : '' ) end
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 46 def role_name arg_role.underscore.singularize end
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 94 def role_options if defined?(Acl9::config) && Acl9::config[:default_subject_class_name].to_s.classify != subject_class_name "subject_class_name: #{subject_class_name}" end end
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 50 def role_table_name role_name.tableize end
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 118 def subject_class_name subject_name.classify end
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 70 def subject_helper "acts_as_authorization_subject" + ( subject_options ? " #{subject_options}" : '' ) end
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 110 def subject_name @subject_name ||= arg_subject.underscore.singularize end
Source
# File lib/generators/acl9/setup/setup_generator.rb, line 100 def subject_options if defined?(Acl9::config) && Acl9::config[:default_role_class_name].to_s.classify != role_class_name "role_class_name: #{role_class_name}" end end