class Five9::SkillArray

Attributes

skills[RW]

Public Class Methods

new(args) click to toggle source
# File lib/five9/user_resources/skill_array.rb, line 4
def initialize(args)
  @skills = []
  set_initial_skills(args)
  @old_skills = @skills
end

Public Instance Methods

add(skill) click to toggle source
# File lib/five9/user_resources/skill_array.rb, line 14
def add(skill)
  @skills << skill unless @skills.include? skill
end
add!(skill=nil) click to toggle source
# File lib/five9/user_resources/skill_array.rb, line 18
def add!(skill=nil)
  add(skill) if skill
  (@skills - @old_skills).each do |new_skill|
    UserManagement.user_skill_add new_skill
    @old_skills << new_skill
  end
end
method_missing(method_name, *args) click to toggle source
# File lib/five9/user_resources/skill_array.rb, line 42
def method_missing(method_name, *args)
  @skills.send(method_name, *args)
end
remove(skill) click to toggle source
# File lib/five9/user_resources/skill_array.rb, line 26
def remove(skill)
  @skills.delete(skill)
end
remove!(skill=nil) click to toggle source
# File lib/five9/user_resources/skill_array.rb, line 30
def remove!(skill=nil)
  remove(skill) if skill
  (@old_skills - @skills).each do |old_skill|
    UserManagement.user_skill_remove old_skill
    @old_skills.delete old_skill
  end
end
to_a() click to toggle source
# File lib/five9/user_resources/skill_array.rb, line 10
def to_a
  @skills
end
update!() click to toggle source
# File lib/five9/user_resources/skill_array.rb, line 38
def update!
  add! ; remove!
end

Private Instance Methods

set_initial_skills(args) click to toggle source
# File lib/five9/user_resources/skill_array.rb, line 47
def set_initial_skills(args)
  if args.class == Array
    args.each do |skill|
      @skills << skill.make_accessible
    end
  elsif args.class == NilClass
  else
    @skills << args.make_accessible
  end
end