class Trole::Storage::StringOne
Public Class Methods
new(role_subject)
click to toggle source
constructor @param [Symbol] the role subject
Calls superclass method
Trole::Storage::BaseOne::new
# File lib/trole/storage/string_one.rb, line 11 def initialize role_subject super end
Public Instance Methods
clear!()
click to toggle source
Clears the role state of the role subject
# File lib/trole/storage/string_one.rb, line 46 def clear! set_ds_field "" end
display_roles()
click to toggle source
display the role as a list of one symbol see Troles::Marshaller::Bitmask
@return [Array<Symbol>] roles list display the role as a list of one symbol @return [Array<Symbol>] roles list
# File lib/trole/storage/string_one.rb, line 20 def display_roles return [] if ds_field_value? [ds_field_value.to_sym] end
ds_field_value?()
click to toggle source
is it set?
# File lib/trole/storage/string_one.rb, line 26 def ds_field_value? ds_field_value && !!ds_field_value.empty? end
set_role(role)
click to toggle source
saves the role of the role subject in the data store @param [Symbol] the role name
# File lib/trole/storage/string_one.rb, line 41 def set_role role set_ds_field role.to_s end
set_roles(*roles)
click to toggle source
saves the roles for the role subject in the data store see Troles::Marshaller::Bitmask @param [Array<Symbol>] roles list
# File lib/trole/storage/string_one.rb, line 33 def set_roles *roles roles = roles.flatten raise ArgumentError, "For a single role strategy you can only set one role, was: #{roles.flatten}" if roles.empty? || (roles.size > 1) set_role roles.first end