bearcat 0.9.7 → 0.9.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/bearcat/client.rb +2 -0
- data/lib/bearcat/client/conversations.rb +15 -0
- data/lib/bearcat/version.rb +1 -1
- data/spec/bearcat/client/conversations_spec.rb +30 -0
- data/spec/fixtures/conversation.json +64 -0
- data/spec/fixtures/deleted_conversation.json +12 -0
- metadata +9 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YjE0NTAxNjg4YWFiYWQyYzkwY2Q3NWI2OTE1NmMxZDI4MzgzYjJmZQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MTNjOTE5NzI0MzFmOWFkNDhhMTUxMmRhNjdiMjk2ZjJhYmFiMDM1Mw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OTIyYzM5NzNlMmI1ZDlmNmIzMDM4MjBkYzdlYTc3NjY3MzA4ZmRlM2Q1YmQ4
|
10
|
+
OTdkM2M3MWJhYjgyOTZhYWIwNTI2ZjRlNmY2NjdiMjMyYzc1MTdjNTUxNjY1
|
11
|
+
MTljNWY2NWU0YjY3OTEyNmI4ODQ5M2MyNGM4MTBhZWY5ZDY4MGM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MzYyZTJkZDBiZGZjYzc4ODI0YTYxYjc4ZDc5ZjI0MGNiMmE5OGVmYmNmMGUw
|
14
|
+
Mzg4ZDY5ODFhODExYTllZjIyZDNjODg0NzhkMDkyMmNhMDg5ZjJhMTdlNGRm
|
15
|
+
MjA2MjYxOTFmMTFjOThjYThmNmY4NDQ2MmYyMjcxYjM1OWQ1M2Y=
|
data/lib/bearcat/client.rb
CHANGED
@@ -13,6 +13,7 @@ require 'bearcat/client/users'
|
|
13
13
|
require 'bearcat/client/reports'
|
14
14
|
require 'bearcat/client/accounts'
|
15
15
|
require 'bearcat/client/submissions'
|
16
|
+
require 'bearcat/client/conversations'
|
16
17
|
|
17
18
|
module Bearcat
|
18
19
|
class Client < Footrest::Client
|
@@ -30,6 +31,7 @@ module Bearcat
|
|
30
31
|
include Users
|
31
32
|
include Reports
|
32
33
|
include Submissions
|
34
|
+
include Conversations
|
33
35
|
|
34
36
|
|
35
37
|
# Override Footrest request for ApiArray support
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Bearcat
|
2
|
+
class Client < Footrest::Client
|
3
|
+
module Conversations
|
4
|
+
|
5
|
+
def create_conversation(params = {})
|
6
|
+
post("/api/v1/conversations", params)
|
7
|
+
end
|
8
|
+
|
9
|
+
def delete_conversation(conversation)
|
10
|
+
delete("/api/v1/conversations/#{conversation.to_s}")
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/bearcat/version.rb
CHANGED
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe Bearcat::Client::Conversations do
|
4
|
+
before do
|
5
|
+
@client = Bearcat::Client.new(prefix: "http://canvas.instructure.com", token: "test_token")
|
6
|
+
end
|
7
|
+
|
8
|
+
context 'POST' do
|
9
|
+
|
10
|
+
it "creates a conversation" do
|
11
|
+
body = {recipients: %w(1), body: 'testing'}
|
12
|
+
stub_post(@client, "/api/v1/conversations").with(body: body).to_return(json_response("conversation.json"))
|
13
|
+
conversation = @client.create_conversation(body)
|
14
|
+
message = conversation.first['messages']
|
15
|
+
message.count.should == 1
|
16
|
+
message.first['body'].should == 'testing'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
context 'DELETE' do
|
21
|
+
|
22
|
+
it "deletes a conversation" do
|
23
|
+
stub_delete(@client, "/api/v1/conversations/1").to_return(json_response("deleted_conversation.json"))
|
24
|
+
deleted_conversation = @client.delete_conversation("1")
|
25
|
+
deleted_conversation["id"].should == 1
|
26
|
+
deleted_conversation["message_count"].should == 0
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"id": 2,
|
4
|
+
"subject": null,
|
5
|
+
"workflow_state": "read",
|
6
|
+
"last_message": null,
|
7
|
+
"last_message_at": null,
|
8
|
+
"last_authored_message": "testing",
|
9
|
+
"last_authored_message_at": "2014-04-16T19:37:02Z",
|
10
|
+
"message_count": 1,
|
11
|
+
"subscribed": true,
|
12
|
+
"private": true,
|
13
|
+
"starred": false,
|
14
|
+
"properties": [
|
15
|
+
"last_author"
|
16
|
+
],
|
17
|
+
"messages": [
|
18
|
+
{
|
19
|
+
"author_id": 1,
|
20
|
+
"body": "testing",
|
21
|
+
"created_at": "2014-04-16T19:37:02Z",
|
22
|
+
"generated": false,
|
23
|
+
"id": 3,
|
24
|
+
"forwarded_messages": [
|
25
|
+
|
26
|
+
],
|
27
|
+
"attachments": [
|
28
|
+
|
29
|
+
],
|
30
|
+
"media_comment": null,
|
31
|
+
"participating_user_ids": [
|
32
|
+
1
|
33
|
+
]
|
34
|
+
}
|
35
|
+
],
|
36
|
+
"audience": [
|
37
|
+
|
38
|
+
],
|
39
|
+
"audience_contexts": {
|
40
|
+
"courses": {
|
41
|
+
|
42
|
+
},
|
43
|
+
"groups": {
|
44
|
+
|
45
|
+
}
|
46
|
+
},
|
47
|
+
"avatar_url": "http://localhost:3000/images/thumbnails/1/mBD6J4naPCw2eAwfVEgZM1HzUSELnkednRPdw7MM",
|
48
|
+
"participants": [
|
49
|
+
{
|
50
|
+
"id": 1,
|
51
|
+
"name": "jake sorce",
|
52
|
+
"common_courses": {
|
53
|
+
|
54
|
+
},
|
55
|
+
"common_groups": {
|
56
|
+
|
57
|
+
},
|
58
|
+
"avatar_url": "http://localhost:3000/images/thumbnails/1/mBD6J4naPCw2eAwfVEgZM1HzUSELnkednRPdw7MM"
|
59
|
+
}
|
60
|
+
],
|
61
|
+
"visible": false,
|
62
|
+
"context_code": null
|
63
|
+
}
|
64
|
+
]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bearcat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Mills, Jake Sorce
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -110,6 +110,7 @@ files:
|
|
110
110
|
- lib/bearcat/client/accounts.rb
|
111
111
|
- lib/bearcat/client/assignments.rb
|
112
112
|
- lib/bearcat/client/conferences.rb
|
113
|
+
- lib/bearcat/client/conversations.rb
|
113
114
|
- lib/bearcat/client/courses.rb
|
114
115
|
- lib/bearcat/client/enrollments.rb
|
115
116
|
- lib/bearcat/client/groups.rb
|
@@ -124,6 +125,7 @@ files:
|
|
124
125
|
- spec/bearcat/client/accounts_spec.rb
|
125
126
|
- spec/bearcat/client/assignments_spec.rb
|
126
127
|
- spec/bearcat/client/conferences_spec.rb
|
128
|
+
- spec/bearcat/client/conversations_spec.rb
|
127
129
|
- spec/bearcat/client/courses_spec.rb
|
128
130
|
- spec/bearcat/client/enrollments_spec.rb
|
129
131
|
- spec/bearcat/client/groups_spec.rb
|
@@ -143,6 +145,7 @@ files:
|
|
143
145
|
- spec/fixtures/assignment_section_override.json
|
144
146
|
- spec/fixtures/assignments.json
|
145
147
|
- spec/fixtures/conclude_enrollment.json
|
148
|
+
- spec/fixtures/conversation.json
|
146
149
|
- spec/fixtures/course.json
|
147
150
|
- spec/fixtures/course_conferences.json
|
148
151
|
- spec/fixtures/course_enrollments.json
|
@@ -157,6 +160,7 @@ files:
|
|
157
160
|
- spec/fixtures/custom_food_data.json
|
158
161
|
- spec/fixtures/delete_custom_data_scope.json
|
159
162
|
- spec/fixtures/delete_section.json
|
163
|
+
- spec/fixtures/deleted_conversation.json
|
160
164
|
- spec/fixtures/enroll_student.json
|
161
165
|
- spec/fixtures/group_conferences.json
|
162
166
|
- spec/fixtures/link_unlink_outcome.json
|
@@ -209,6 +213,7 @@ test_files:
|
|
209
213
|
- spec/bearcat/client/accounts_spec.rb
|
210
214
|
- spec/bearcat/client/assignments_spec.rb
|
211
215
|
- spec/bearcat/client/conferences_spec.rb
|
216
|
+
- spec/bearcat/client/conversations_spec.rb
|
212
217
|
- spec/bearcat/client/courses_spec.rb
|
213
218
|
- spec/bearcat/client/enrollments_spec.rb
|
214
219
|
- spec/bearcat/client/groups_spec.rb
|
@@ -228,6 +233,7 @@ test_files:
|
|
228
233
|
- spec/fixtures/assignment_section_override.json
|
229
234
|
- spec/fixtures/assignments.json
|
230
235
|
- spec/fixtures/conclude_enrollment.json
|
236
|
+
- spec/fixtures/conversation.json
|
231
237
|
- spec/fixtures/course.json
|
232
238
|
- spec/fixtures/course_conferences.json
|
233
239
|
- spec/fixtures/course_enrollments.json
|
@@ -242,6 +248,7 @@ test_files:
|
|
242
248
|
- spec/fixtures/custom_food_data.json
|
243
249
|
- spec/fixtures/delete_custom_data_scope.json
|
244
250
|
- spec/fixtures/delete_section.json
|
251
|
+
- spec/fixtures/deleted_conversation.json
|
245
252
|
- spec/fixtures/enroll_student.json
|
246
253
|
- spec/fixtures/group_conferences.json
|
247
254
|
- spec/fixtures/link_unlink_outcome.json
|