class Five9::User
Attributes
general_info[R]
roles[R]
skills[R]
Public Class Methods
all()
click to toggle source
# File lib/five9/user.rb, line 61 def self.all UserManagement.get_users_info.map do |user_info| new(user_info) end end
create!(args)
click to toggle source
# File lib/five9/user.rb, line 53 def self.create!(args) new UserManagement.create_user(args) end
exist?(username)
click to toggle source
# File lib/five9/user.rb, line 49 def self.exist?(username) not UserManagement.get_users_info(username)[:general_info].nil? end
find(username)
click to toggle source
# File lib/five9/user.rb, line 57 def self.find(username) new(UserManagement.get_users_info(username)) if exist?(username) end
new(args)
click to toggle source
# File lib/five9/user.rb, line 4 def initialize(args) @user_info = args.make_accessible @general_info = @user_info[:general_info].make_accessible @roles = @user_info[:roles].make_accessible @skills = SkillArray.new(args[:skills]) end
where(args)
click to toggle source
# File lib/five9/user.rb, line 67 def self.where(args) all.keep_if do |user| user.merge(args).to_hash == user.to_hash end end
Public Instance Methods
delete!()
click to toggle source
# File lib/five9/user.rb, line 24 def delete! UserManagement.delete_user user_name end
method_missing(method_name, *args)
click to toggle source
# File lib/five9/user.rb, line 45 def method_missing(method_name, *args) @general_info.send(method_name, *args) end
save()
click to toggle source
# File lib/five9/user.rb, line 18 def save UserManagement.modify_user(build_modify_hash) @skills.update! self end
to_h()
click to toggle source
# File lib/five9/user.rb, line 11 def to_h @user_info[:general_info] = @general_info @user_info[:roles] = @roles @user_info[:skills] = @skills.to_a @user_info end
update(args)
click to toggle source
# File lib/five9/user.rb, line 28 def update(args) if args[:general_info] @user_info = to_h.merge(args) @general_info = @user_info[:general_info].make_accessible @roles = @user_info[:roles].make_accessible @skills = SkillArray.new(args[:skills]) @user_info else merge! args end end
update!(args)
click to toggle source
# File lib/five9/user.rb, line 40 def update!(args) update args save end
Private Instance Methods
build_modify_hash()
click to toggle source
# File lib/five9/user.rb, line 74 def build_modify_hash result = {} @general_info["EMail"] ||= @general_info.e_mail result[:userGeneralInfo] = @general_info.to_hash result # TODO configure rolesToSet and rolesToRemove end