class TroleGroups::Storage::RefMany

Public Class Methods

new(rolegroup_subject) click to toggle source
Calls superclass method TroleGroups::Storage::BaseMany::new
# File lib/trole_groups/storage/ref_many.rb, line 3
def initialize rolegroup_subject
  super
end

Public Instance Methods

clear!() click to toggle source

clears the role of the user in the data store

# File lib/trole_groups/storage/ref_many.rb, line 38
def clear!
  set_ds_field []
end
display_rolegroups() click to toggle source

display the roles as a list of symbols @return [Array<Symbol>] roles list

# File lib/trole_groups/storage/ref_many.rb, line 18
def display_rolegroups
  return [] if !ds_field_value?
  ds_field_value.flatten.map do |rolegroup| 
    rolegroup.name.to_sym 
  end
end
display_roles() click to toggle source
# File lib/trole_groups/storage/ref_many.rb, line 7
def display_roles
  display_roles_for rolegroup_list
end
display_roles_for(*names) click to toggle source
# File lib/trole_groups/storage/ref_many.rb, line 11
def display_roles_for *names
  groups = find_rolegroups names.to_symbols_uniq
  groups.inject([]) {|res, group| res << group.roles }.flat_uniq
end
ds_field_value?() click to toggle source

is it set?

# File lib/trole_groups/storage/ref_many.rb, line 26
def ds_field_value?
  ds_field_value && !ds_field_value.empty?
end
set_default_role!() click to toggle source

sets the role to default setting

# File lib/trole_groups/storage/ref_many.rb, line 43
def set_default_role!
  clear!
end
set_rolegroups(*rolegroups) click to toggle source

saves the role for the user in the data store

# File lib/trole_groups/storage/ref_many.rb, line 31
def set_rolegroups *rolegroups
  # finds and sets references to existing Role instances from symbols
  found = find_rolegroups(*rolegroups)
  set_ds_field found
end