class Troles::Storage::EmbedMany
Public Class Methods
new(role_subject)
click to toggle source
constructor @param [Object] the role subject
Calls superclass method
Troles::Common::Storage::new
# File lib/troles/storage/embed_many.rb, line 12 def initialize role_subject super end
Public Instance Methods
clear!()
click to toggle source
clears the role of the user in the data store
# File lib/troles/storage/embed_many.rb, line 43 def clear! set_ds_field [] end
display_roles()
click to toggle source
display the roles as a list of symbols @return [Array<Symbol>] roles list
# File lib/troles/storage/embed_many.rb, line 25 def display_roles return [] if !ds_field_value? ds_field_value.map{|role| role.name.to_sym } end
ds_field_value?()
click to toggle source
is it set?
# File lib/troles/storage/embed_many.rb, line 31 def ds_field_value? ds_field_value && !ds_field_value.empty? end
roles_to_embed(*roles)
click to toggle source
# File lib/troles/storage/embed_many.rb, line 16 def roles_to_embed *roles roles.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/troles/storage/embed_many.rb, line 48 def set_default_role! clear! end
set_roles(*roles)
click to toggle source
saves the roles for the role subject in the data store @param [Array<Symbol>] roles list
# File lib/troles/storage/embed_many.rb, line 37 def set_roles *roles # creates and embeds new Role instances from symbols set_ds_field roles_to_embed(*roles) end
Protected Instance Methods
create_role(name)
click to toggle source
# File lib/troles/storage/embed_many.rb, line 54 def create_role name role_model.create name end