Class: Five9::GeneralUser
- Inherits:
-
Object
- Object
- Five9::GeneralUser
show all
- Defined in:
- lib/five9/general_user.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of GeneralUser.
3
4
5
|
# File 'lib/five9/general_user.rb', line 3
def initialize(args)
@user_general_info = args.make_accessible
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name, *args) ⇒ Object
33
34
35
|
# File 'lib/five9/general_user.rb', line 33
def method_missing(method_name, *args)
@user_general_info.send(method_name, *args)
end
|
Class Method Details
.all ⇒ Object
37
38
39
40
41
|
# 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) ⇒ Object
43
44
45
|
# 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) ⇒ Boolean
47
48
49
|
# File 'lib/five9/general_user.rb', line 47
def self.exist?(username)
not find(username).nil?
end
|
.find(username) ⇒ Object
51
52
53
54
55
56
57
58
|
# 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
|
.where(args) ⇒ Object
60
61
62
63
64
|
# 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
|
Instance Method Details
#delete! ⇒ Object
19
20
21
22
|
# File 'lib/five9/general_user.rb', line 19
def delete!
UserManagement.delete_user user_name
@user_general_info
end
|
#save! ⇒ Object
11
12
13
14
15
16
17
|
# 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 ⇒ Object
7
8
9
|
# File 'lib/five9/general_user.rb', line 7
def to_h
@user_general_info
end
|
#update(args) ⇒ Object
24
25
26
|
# File 'lib/five9/general_user.rb', line 24
def update(args)
merge! args
end
|
#update!(args) ⇒ Object
28
29
30
31
|
# File 'lib/five9/general_user.rb', line 28
def update!(args)
update(args)
save!
end
|