class Trole::Storage::BitOne
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/bit_one.rb, line 13 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/bit_one.rb, line 33 def clear! set_ds_field false 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
# File lib/trole/storage/bit_one.rb, line 20 def display_roles raise "BitOne requires exactly two valid roles, was: #{valid_roles}" if !(valid_roles.size == 2) [bitmask.read].flatten end
set_role(role)
click to toggle source
saves the role for the role subject in the data store @param [Symbol] role name
# File lib/trole/storage/bit_one.rb, line 27 def set_role role num = bitmask.write role set_ds_field(num == 1 ? false : true) # boolean field in Data store end
Protected Instance Methods
bitmask()
click to toggle source
# File lib/trole/storage/bit_one.rb, line 39 def bitmask @bitmask ||= Troles::Common::Marshaller::Bitmask.new role_subject end