class Five9::GeneralUser

Public Class Methods

all() click to toggle source
# File lib/five9/general_user.rb, line 37
def self.all
  UserManagement.get_users_general_info.map do |user_general_info|
    new(user_general_info)
  end
end
create!(args) click to toggle source
# File lib/five9/general_user.rb, line 43
def self.create!(args)
  new(UserManagement.create_user(build_sendable_hash(args))[:general_info])
end
exist?(username) click to toggle source
# File lib/five9/general_user.rb, line 47
def self.exist?(username)
  not find(username).nil?
end
find(username) click to toggle source
# File lib/five9/general_user.rb, line 51
def self.find(username)
  general_user = new(UserManagement.get_users_general_info(username))
  if general_user[:user_name]
    general_user
  else
    nil
  end
end
new(args) click to toggle source
# File lib/five9/general_user.rb, line 3
def initialize(args)
  @user_general_info = args.make_accessible
end
where(args) click to toggle source
# File lib/five9/general_user.rb, line 60
def self.where(args)
  all.keep_if do |general_user|
    general_user.merge(args).to_hash == general_user.to_hash
  end
end

Private Class Methods

build_sendable_hash(user_general_info) click to toggle source
# File lib/five9/general_user.rb, line 75
def self.build_sendable_hash(user_general_info)
  result = {}
  user_general_info["EMail"] ||= user_general_info[:e_mail]
  user_general_info[:can_change_password] = true
  result[:generalInfo] = user_general_info
  result[:roles] = {agent: {}}
  result
end

Public Instance Methods

delete!() click to toggle source
# File lib/five9/general_user.rb, line 19
def delete!
  UserManagement.delete_user user_name
  @user_general_info
end
method_missing(method_name, *args) click to toggle source
# File lib/five9/general_user.rb, line 33
def method_missing(method_name, *args)
  @user_general_info.send(method_name, *args)
end
save!() click to toggle source
# File lib/five9/general_user.rb, line 11
def save!
  if GeneralUser.exist? user_name
    UserManagement.modify_user(build_sendable_hash)[:general_info]
  else
    UserManagement.create! @user_general_info
  end
end
to_h() click to toggle source
# File lib/five9/general_user.rb, line 7
def to_h
  @user_general_info
end
update(args) click to toggle source
# File lib/five9/general_user.rb, line 24
def update(args)
  merge! args
end
update!(args) click to toggle source
# File lib/five9/general_user.rb, line 28
def update!(args)
  update(args)
  save!
end

Private Instance Methods

build_sendable_hash() click to toggle source
# File lib/five9/general_user.rb, line 67
def build_sendable_hash
  result = {}
  result[:userGeneralInfo] = @user_general_info
  result[:userGeneralInfo]["EMail"] = 
    @user_general_info[:e_mail] || @user_general_info["EMail"]
  result
end