module TroleGroups::Config::Schema
Public Instance Methods
configure_field()
click to toggle source
Adapter should customize this as needed
# File lib/trole_groups/config/schema.rb, line 18 def configure_field end
configure_generic()
click to toggle source
# File lib/trole_groups/config/schema.rb, line 13 def configure_generic subject_class.send(:attr_accessor, role_field) if generic? || orm == :generic # create troles accessor end
configure_models()
click to toggle source
# File lib/trole_groups/config/schema.rb, line 7 def configure_models configure_generic configure_field if auto_config?(:fields) configure_relation if auto_config?(:relations) end
configure_relation()
click to toggle source
Adapter should customize this as needed
# File lib/trole_groups/config/schema.rb, line 22 def configure_relation end
rolegroup_model()
click to toggle source
Gets the role model to be used see (role_model=) @return [Class] the model class (defaults to Role)
# File lib/trole_groups/config/schema.rb, line 36 def rolegroup_model @rolegroup_model_found ||= begin models = [@rolegroup_model, role_group_class_name].select do |class_name| try_class(class_name.to_s.camelize) end.compact raise "No #{role_group_class_name} class defined, define a #{role_group_class_name} class or set which class to use, using the :rolegroup_model option on configuration" if models.empty? models.first.to_s.constantize end end
rolegroup_model=(model_class)
click to toggle source
Sets the role model to use allows different role subject classes (fx User Accounts) to have different role schemas @param [Class] the model class
# File lib/trole_groups/config/schema.rb, line 28 def rolegroup_model= model_class @rolegroup_model = model_class.to_s and return if model_class.any_kind_of?(Class, String, Symbol) raise "The rolegroup model must be a Class, was: #{model_class}" end
Protected Instance Methods
role_group_class_name()
click to toggle source
# File lib/trole_groups/config/schema.rb, line 48 def role_group_class_name 'RoleGroup' end
try_class(clazz)
click to toggle source
# File lib/trole_groups/config/schema.rb, line 52 def try_class clazz begin clazz = clazz.constantize if clazz.kind_of?(String) clazz rescue false end end