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