Class: Intercom::Service::Conversation
Instance Attribute Summary
Attributes inherited from BaseService
#client
Instance Method Summary
collapse
#create, #identity_hash, #save
#load
#find
#find_all
Methods inherited from BaseService
#from_api, #initialize
Instance Method Details
#assign(reply_data) ⇒ Object
38
39
40
41
|
# File 'lib/intercom/service/conversation.rb', line 38
def assign(reply_data)
assignee_id = reply_data.fetch(:assignee_id) { fail 'assignee_id is required' }
reply reply_data.merge(message_type: 'assignment', assignee_id: assignee_id, type: 'admin')
end
|
#close(reply_data) ⇒ Object
34
35
36
|
# File 'lib/intercom/service/conversation.rb', line 34
def close(reply_data)
reply reply_data.merge(message_type: 'close', type: 'admin')
end
|
#collection_class ⇒ Object
15
16
17
|
# File 'lib/intercom/service/conversation.rb', line 15
def collection_class
Intercom::Conversation
end
|
#mark_read(id) ⇒ Object
19
20
21
|
# File 'lib/intercom/service/conversation.rb', line 19
def mark_read(id)
@client.put("/conversations/#{id}", read: true)
end
|
#open(reply_data) ⇒ Object
30
31
32
|
# File 'lib/intercom/service/conversation.rb', line 30
def open(reply_data)
reply reply_data.merge(message_type: 'open', type: 'admin')
end
|
#reply(reply_data) ⇒ Object
23
24
25
26
27
28
|
# File 'lib/intercom/service/conversation.rb', line 23
def reply(reply_data)
id = reply_data.delete(:id)
collection_name = Utils.resource_class_to_collection_name(collection_class)
response = @client.post("/#{collection_name}/#{id}/reply", reply_data.merge(:conversation_id => id))
collection_class.new.from_response(response)
end
|