Class: Trole::Storage::BaseOne
- Inherits:
-
Troles::Common::Storage
- Object
- Troles::Common::Storage
- Trole::Storage::BaseOne
- Defined in:
- lib/trole/storage/base_one.rb
Instance Attribute Summary
Attributes inherited from Troles::Common::Storage
Instance Method Summary collapse
-
#find_role(role) ⇒ Role
get Role instance by name.
-
#initialize(role_subject) ⇒ BaseOne
constructor
constructor.
- #role_model ⇒ Object
-
#role_to_embed ⇒ Array<Role>
get embedded Role instances.
-
#set_default_role! ⇒ Object
sets the role to its default state.
-
#set_roles(*roles) ⇒ Object
saves the role for the user in the data store.
Methods inherited from Troles::Common::Storage
#ds_field_name, #ds_field_value, #name, #persist_role_changes!, #set_ds_field, #valid_roles
Constructor Details
#initialize(role_subject) ⇒ BaseOne
constructor
12 13 14 |
# File 'lib/trole/storage/base_one.rb', line 12 def initialize role_subject super end |
Instance Method Details
#find_role(role) ⇒ Role
get Role instance by name
19 20 21 22 |
# 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 ⇒ Object
31 32 33 |
# File 'lib/trole/storage/base_one.rb', line 31 def role_model role_subject.class.troles_config.role_model end |
#role_to_embed ⇒ Array<Role>
get embedded Role instances
27 28 29 |
# File 'lib/trole/storage/base_one.rb', line 27 def raise "Must be implemented by embed storage to generate a set of roles to embed" end |
#set_default_role! ⇒ Object
sets the role to its default state
42 43 44 |
# File 'lib/trole/storage/base_one.rb', line 42 def set_default_role! clear! end |
#set_roles(*roles) ⇒ Object
saves the role for the user in the data store
36 37 38 39 |
# 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 |