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