class TroleGroups::Storage::EmbedMany

Public Class Methods

new(rolegroupsubject) click to toggle source

constructor @param [Object] the role subject

Calls superclass method TroleGroups::Storage::BaseMany::new
# File lib/trole_groups/storage/embed_many.rb, line 12
def initialize rolegroupsubject
  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/embed_many.rb, line 43
def clear!
  set_ds_field []
end
display_rolegroups() click to toggle source

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

# File lib/trole_groups/storage/embed_many.rb, line 25
def display_rolegroups
  return [] if !ds_field_value?
  ds_field_value.map{|rolegroup| rolegroup.name.to_sym }
end
ds_field_value?() click to toggle source

is it set?

# File lib/trole_groups/storage/embed_many.rb, line 31
def ds_field_value?
  ds_field_value && !ds_field_value.empty?
end
rolegroups_to_embed(*rolegroups) click to toggle source
# File lib/trole_groups/storage/embed_many.rb, line 16
def rolegroups_to_embed *rolegroups
  rolegroups.flatten.inject([]) do |res, role| 
    res << create_role(role)
    res
  end
end
set_default_role!() click to toggle source

sets the role to its default state

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

saves the rolegroups for the role subject in the data store @param [Array<Symbol>] rolegroups list

# File lib/trole_groups/storage/embed_many.rb, line 37
def set_rolegroups *rolegroups
  # creates and embeds new Role instances from symbols
  set_ds_field rolegroups_to_embed(*rolegroups)
end

Protected Instance Methods

create_role(name) click to toggle source
# File lib/trole_groups/storage/embed_many.rb, line 54
def create_role name
  rolegroup_model.create name
end