Class: Podio::Conversation
Overview
Instance Attribute Summary
#attributes
Class Method Summary
collapse
-
.add_participant(conversation_id, user_id) ⇒ Object
-
.add_participants(conversation_id, participants) ⇒ Object
-
.create(attributes) ⇒ Object
-
.create_for_reference(ref_type, ref_id, attributes) ⇒ Object
-
.create_reply(conversation_id, text, file_ids = [], embed_id = nil, embed_file_id = nil) ⇒ Object
-
.find(conversation_id) ⇒ Object
-
.find_all(options = {}) ⇒ Object
-
.find_all_by_flag(flag, options = {}) ⇒ Object
-
.find_all_for_reference(ref_type, ref_id) ⇒ Object
-
.find_direct_with_user(user_id) ⇒ Object
-
.leave(conversation_id) ⇒ Object
-
.mark_all_as_read ⇒ Object
-
.mark_as_read(conversation_id) ⇒ Object
-
.mark_as_unread(conversation_id) ⇒ Object
-
.search(options = {}) ⇒ Object
-
.star(conversation_id) ⇒ Object
-
.starred_count ⇒ Object
-
.unread_count ⇒ Object
-
.unstar(conversation_id) ⇒ Object
Instance Method Summary
collapse
#remove_nil_values, #update_attributes
#==, #[], #[]=, #api_friendly_ref_type, #as_json, collection, delegate_to_hash, has_many, has_one, #hash, #initialize, #initialize_attributes, klass_from_string, list, member, #new_record?, output_attribute_as_json, #parent_model, #persisted?, property, #to_param
Class Method Details
.add_participant(conversation_id, user_id) ⇒ Object
121
122
123
124
125
126
127
|
# File 'lib/podio/models/conversation.rb', line 121
def add_participant(conversation_id, user_id)
response = Podio.connection.post do |req|
req.url "/conversation/#{conversation_id}/participant/"
req.body = { :user_id => user_id }
end
response.body
end
|
.add_participants(conversation_id, participants) ⇒ Object
113
114
115
116
117
118
119
|
# File 'lib/podio/models/conversation.rb', line 113
def add_participants(conversation_id, participants)
response = Podio.connection.post do |req|
req.url "/conversation/#{conversation_id}/participant/"
req.body = { :participants => participants }
end
response.body
end
|
.create(attributes) ⇒ Object
86
87
88
89
90
91
92
|
# File 'lib/podio/models/conversation.rb', line 86
def create(attributes)
response = Podio.connection.post do |req|
req.url '/conversation/v2/'
req.body = attributes
end
member response.body
end
|
.create_for_reference(ref_type, ref_id, attributes) ⇒ Object
95
96
97
98
99
100
101
|
# File 'lib/podio/models/conversation.rb', line 95
def create_for_reference(ref_type, ref_id, attributes)
response = Podio.connection.post do |req|
req.url "/conversation/#{ref_type}/#{ref_id}/"
req.body = attributes
end
response.body
end
|
.create_reply(conversation_id, text, file_ids = [], embed_id = nil, embed_file_id = nil) ⇒ Object
104
105
106
107
108
109
110
|
# File 'lib/podio/models/conversation.rb', line 104
def create_reply(conversation_id, text, file_ids=[], embed_id=nil, embed_file_id=nil)
response = Podio.connection.post do |req|
req.url "/conversation/#{conversation_id}/reply"
req.body = {:text => text, :file_ids => file_ids, :embed_id => embed_id, :embed_file_id => embed_file_id}
end
response.body['message_id']
end
|
.find(conversation_id) ⇒ Object
71
72
73
|
# File 'lib/podio/models/conversation.rb', line 71
def find(conversation_id)
member Podio.connection.get("/conversation/#{conversation_id}").body
end
|
.find_all(options = {}) ⇒ Object
50
51
52
53
54
|
# File 'lib/podio/models/conversation.rb', line 50
def find_all(options={})
list Podio.connection.get { |req|
req.url("/conversation/", options)
}.body
end
|
.find_all_by_flag(flag, options = {}) ⇒ Object
57
58
59
60
61
|
# File 'lib/podio/models/conversation.rb', line 57
def find_all_by_flag(flag, options={})
list Podio.connection.get { |req|
req.url("/conversation/#{flag}/", options)
}.body
end
|
.find_all_for_reference(ref_type, ref_id) ⇒ Object
76
77
78
|
# File 'lib/podio/models/conversation.rb', line 76
def find_all_for_reference(ref_type, ref_id)
list Podio.connection.get("/conversation/#{ref_type}/#{ref_id}/").body
end
|
.find_direct_with_user(user_id) ⇒ Object
81
82
83
|
# File 'lib/podio/models/conversation.rb', line 81
def find_direct_with_user(user_id)
member Podio.connection.get("/conversation/direct/#{user_id}").body
end
|
.leave(conversation_id) ⇒ Object
171
172
173
|
# File 'lib/podio/models/conversation.rb', line 171
def leave(conversation_id)
Podio.connection.post("/conversation/#{conversation_id}/leave")
end
|
.mark_all_as_read ⇒ Object
130
131
132
|
# File 'lib/podio/models/conversation.rb', line 130
def mark_all_as_read
Podio.connection.post("/conversation/read").status
end
|
.mark_as_read(conversation_id) ⇒ Object
135
136
137
138
139
140
|
# File 'lib/podio/models/conversation.rb', line 135
def mark_as_read(conversation_id)
response = Podio.connection.post do |req|
req.url "/conversation/#{conversation_id}/read"
end
response.status
end
|
.mark_as_unread(conversation_id) ⇒ Object
143
144
145
|
# File 'lib/podio/models/conversation.rb', line 143
def mark_as_unread(conversation_id)
Podio.connection.delete("/conversation/#{conversation_id}/read").status
end
|
.search(options = {}) ⇒ Object
64
65
66
67
68
|
# File 'lib/podio/models/conversation.rb', line 64
def search(options={})
list Podio.connection.get { |req|
req.url "/conversation/search/", options
}.body
end
|
.star(conversation_id) ⇒ Object
148
149
150
151
152
153
|
# File 'lib/podio/models/conversation.rb', line 148
def star(conversation_id)
response = Podio.connection.post do |req|
req.url "/conversation/#{conversation_id}/star"
end
response.status
end
|
.starred_count ⇒ Object
166
167
168
|
# File 'lib/podio/models/conversation.rb', line 166
def starred_count
Podio.connection.get("/conversation/starred/count").body['value']
end
|
.unread_count ⇒ Object
161
162
163
|
# File 'lib/podio/models/conversation.rb', line 161
def unread_count
Podio.connection.get("/conversation/unread/count").body['value']
end
|
.unstar(conversation_id) ⇒ Object
156
157
158
|
# File 'lib/podio/models/conversation.rb', line 156
def unstar(conversation_id)
Podio.connection.delete("/conversation/#{conversation_id}/star").status
end
|
Instance Method Details
#name ⇒ Object
So tasks can refer to ref.name on all types of references
38
39
40
|
# File 'lib/podio/models/conversation.rb', line 38
def name
self.subject || self.excerpt
end
|
#save ⇒ Object
42
43
44
45
46
|
# File 'lib/podio/models/conversation.rb', line 42
def save
self[:file_ids] ||= []
model = self.class.create(self.attributes)
self.attributes = model.attributes
end
|