Class: Sendbird::User
Instance Attribute Summary collapse
Instance Method Summary
collapse
#api_class, #default_arg, included, #merge_arguments, #request!
Constructor Details
#initialize(user_id) {|_self| ... } ⇒ User
Returns a new instance of User.
9
10
11
12
13
14
15
|
# File 'lib/sendbird/user.rb', line 9
def initialize(user_id)
@user_id = user_id
@gcm_tokens = []
@apns_tokens = []
@pending_requests = {}
yield(self) if block_given?
end
|
Instance Attribute Details
#apns_tokens ⇒ Object
Returns the value of attribute apns_tokens.
8
9
10
|
# File 'lib/sendbird/user.rb', line 8
def apns_tokens
@apns_tokens
end
|
#gcm_tokens ⇒ Object
Returns the value of attribute gcm_tokens.
8
9
10
|
# File 'lib/sendbird/user.rb', line 8
def gcm_tokens
@gcm_tokens
end
|
#pending_requests ⇒ Object
Returns the value of attribute pending_requests.
8
9
10
|
# File 'lib/sendbird/user.rb', line 8
def pending_requests
@pending_requests
end
|
#user_id ⇒ Object
Returns the value of attribute user_id.
8
9
10
|
# File 'lib/sendbird/user.rb', line 8
def user_id
@user_id
end
|
Instance Method Details
#activate ⇒ Object
92
93
94
95
|
# File 'lib/sendbird/user.rb', line 92
def activate
merge_arguments(:activate, { activate: true })
self
end
|
#deactivate ⇒ Object
97
98
99
100
|
# File 'lib/sendbird/user.rb', line 97
def deactivate
merge_arguments(:activate, { activate: false })
self
end
|
#end_hour=(end_hour) ⇒ Object
Also known as:
end_hour
120
121
122
123
|
# File 'lib/sendbird/user.rb', line 120
def end_hour=(end_hour)
merge_arguments(:update_push_preferences, { end_hour: end_hour })
self
end
|
#end_min=(end_min) ⇒ Object
Also known as:
end_min
132
133
134
135
|
# File 'lib/sendbird/user.rb', line 132
def end_min=(end_min)
merge_arguments(:update_push_preferences, { end_min: end_min })
self
end
|
#get_push_preferences ⇒ Object
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# File 'lib/sendbird/user.rb', line 52
def get_push_preferences
response = UserApi.push_preferences(user_id)
if response.status == 200
response.body
else
raise InvalidRequest.new(
error_message(
response.error_message,
__method__,
user_id
)
)
end
end
|
#get_unread_count ⇒ Object
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/sendbird/user.rb', line 37
def get_unread_count
response = UserApi.unread_count(user_id)
if response.status == 200
response.body['unread_count']
else
raise InvalidRequest.new(
error_message(
response.error_message,
__method__,
user_id
)
)
end
end
|
#get_user ⇒ Object
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/sendbird/user.rb', line 22
def get_user
response = UserApi.view(user_id)
if response.status == 200
response.body
else
raise InvalidRequest.new(
error_message(
response.error_message,
__method__,
user_id
)
)
end
end
|
#group_channel(channel_url) ⇒ Object
168
169
170
|
# File 'lib/sendbird/user.rb', line 168
def group_channel(channel_url)
GroupChannel.new(channel_url, user_id)
end
|
#in_sync? ⇒ Boolean
17
18
19
|
# File 'lib/sendbird/user.rb', line 17
def in_sync?
pending_requests.empty?
end
|
#issue_access_token=(issue_access_token) ⇒ Object
Also known as:
issue_access_token
86
87
88
89
|
# File 'lib/sendbird/user.rb', line 86
def issue_access_token=(issue_access_token)
merge_arguments(:update, {issue_access_token: issue_access_token})
self
end
|
#mark_as_read_all ⇒ Object
163
164
165
166
|
# File 'lib/sendbird/user.rb', line 163
def mark_as_read_all
merge_arguments(:mark_as_read_all, {})
self
end
|
#nickname=(nickname) ⇒ Object
Also known as:
nickname
74
75
76
77
|
# File 'lib/sendbird/user.rb', line 74
def nickname=(nickname)
merge_arguments(:update, {nickname: nickname})
self
end
|
#profile_url=(profile_url) ⇒ Object
Also known as:
profile_url
80
81
82
83
|
# File 'lib/sendbird/user.rb', line 80
def profile_url=(profile_url)
merge_arguments(:update, {profile_url: profile_url})
self
end
|
#push_preferences=(push_preferences = {}) ⇒ Object
Also known as:
push_preferences
102
103
104
105
|
# File 'lib/sendbird/user.rb', line 102
def push_preferences=(push_preferences={})
merge_arguments(:update_push_preferences, push_preferences)
self
end
|
#register_apns_token(token) ⇒ Object
143
144
145
146
|
# File 'lib/sendbird/user.rb', line 143
def register_apns_token(token)
merge_arguments(:register_apns_token, token, ->(response){ self.apns_tokens << response.body['token'] })
self
end
|
#register_gcm_token(token) ⇒ Object
138
139
140
141
|
# File 'lib/sendbird/user.rb', line 138
def register_gcm_token(token)
merge_arguments(:register_gcm_token, token, ->(response){ self.gcm_tokens << response.body['token'] })
self
end
|
#start_hour=(start_hour) ⇒ Object
Also known as:
start_hour
114
115
116
117
|
# File 'lib/sendbird/user.rb', line 114
def start_hour=(start_hour)
merge_arguments(:update_push_preferences, { start_hour: start_hour })
self
end
|
#start_min=(start_min) ⇒ Object
Also known as:
start_min
126
127
128
129
|
# File 'lib/sendbird/user.rb', line 126
def start_min=(start_min)
merge_arguments(:update_push_preferences, { start_min: start_min })
self
end
|
#timezone=(timezone) ⇒ Object
Also known as:
timezone
108
109
110
111
|
# File 'lib/sendbird/user.rb', line 108
def timezone=(timezone)
merge_arguments(:update_push_preferences, { timezone: timezone })
self
end
|
#unregister_all_device_token ⇒ Object
158
159
160
161
|
# File 'lib/sendbird/user.rb', line 158
def unregister_all_device_token
merge_arguments(:unregister_all_device_token, nil, ->(response) { self.apns_tokens = []; self.gcm_tokens = []; })
self
end
|
#unregister_apns_token(token) ⇒ Object
153
154
155
156
|
# File 'lib/sendbird/user.rb', line 153
def unregister_apns_token(token)
merge_arguments(:unregister_apns_token, token, ->(response){ self.apns_tokens.delete(response.body['token'])})
self
end
|
#unregister_gcm_token(token) ⇒ Object
148
149
150
151
|
# File 'lib/sendbird/user.rb', line 148
def unregister_gcm_token(token)
merge_arguments(:unregister_gcm_token, token, ->(response){ self.gcm_tokens.delete(response.body['token'])})
self
end
|
68
69
70
71
|
# File 'lib/sendbird/user.rb', line 68
def user_information=(user_information={})
merge_arguments(:update, user_information)
self
end
|