class Trole::Storage::BaseOne
Public Class Methods
new(role_subject)
click to toggle source
constructor @param [Symbol] the role subject
Calls superclass method
Troles::Common::Storage::new
# File lib/trole/storage/base_one.rb, line 12 def initialize role_subject super end
Public Instance Methods
find_role(role)
click to toggle source
get Role instance by name @param [Symbol] list of role names to find Roles for @return [Role] reference to Role instances
# File lib/trole/storage/base_one.rb, line 19 def find_role role raise ArgumentError, "Must be a role label" if !role.kind_of_label? role_model.where(:name => role.to_s) end
role_model()
click to toggle source
# File lib/trole/storage/base_one.rb, line 31 def role_model role_subject.class.troles_config.role_model end
role_to_embed()
click to toggle source
get embedded Role instances @param [Array<Symbol>] list of role names @return [Array<Role>] Role instances generated
# File lib/trole/storage/base_one.rb, line 27 def role_to_embed raise "Must be implemented by embed storage to generate a set of roles to embed" end
set_default_role!()
click to toggle source
sets the role to its default state
# File lib/trole/storage/base_one.rb, line 42 def set_default_role! clear! end
set_roles(*roles)
click to toggle source
saves the role for the user in the data store
# File lib/trole/storage/base_one.rb, line 36 def set_roles *roles raise ArgumentError, "A single role strategy can only allow setting a single role, was: #{roles}" if (roles.size > 1) set_role roles.flat_uniq.first end