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