meducation_sdk 2.0.2 → 2.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: a39890e1ff16b1d0a3228a5165bec06d6a1614d5
4
- data.tar.gz: cc89d7cfd7f109cec2042b13b6f32ce1f3abad47
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZTA2ZWVmNTY5MDhmMDEwMzFhMDM4OGQwNGQwOGUzYTFhNzNkMDI2Zg==
5
+ data.tar.gz: !binary |-
6
+ ZjAxOTE1OTE2Y2ZiOGE0NGQ0YjVkNmQxZTE4ZWNjYTc5YTJiMjBiMg==
5
7
  SHA512:
6
- metadata.gz: 1e883fa6cccea9a4b5647145b0a7bf4d60955cd1a155c165a21e83683e5d23259eeefca8a3b71a24529a07a0f2c5770a8d6cff985d99df57cc87b85054231e12
7
- data.tar.gz: 8f600045f0631784e02149c4b3b35e94804f468db49c43ebd162b699682870d555279876f60b75593e51b4861ba83bfa9299bd3fdf405ca51c7b571c877bd804
8
+ metadata.gz: !binary |-
9
+ ZDc1YTQ0MzIxNGE3MWM0NGI3M2VmYWVkYThhNmQ3YzQwOWUzYTk0OWZkZWIz
10
+ N2UzNzU0ZTBkOTAzYjdiMzY2MjllNWVlNWIwNTZjYTZkMWQzNjc0NDNhMDM4
11
+ NGJiYWIzNzE4YzI3N2Y2ZTMwZDdjYjEzNTY4MDA0MmI2OGRjMmQ=
12
+ data.tar.gz: !binary |-
13
+ MjI3ODc5ZWYxN2FhMzU0OTdkNzcyYmE4NmIyOTY1NmEwMjQ3MDA4NTIxNjFh
14
+ ZTAyNTdmZGY2MjE0MzY0MTdkNDNkMzI3ZjZiZjZlYmViODcwYjdmYTA0ZDYz
15
+ MTE4ZTYzY2I2ZTFiZTYxZWFhNGJjNmM3M2RlMzU4OWE2NTE0NDc=
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ # 2.0.3 / 2014-04-03
2
+ * [FEATURE] Add indexable content to external resources and media files
3
+
1
4
  # 2.0.2 / 2014-04-03
2
5
  * [FEATURE] Added User Email Preferences
3
6
 
@@ -50,6 +50,7 @@ RESOURCES = %w{
50
50
  group_discussion_post
51
51
  group_invite
52
52
  group_membership
53
+ indexable_content
53
54
  knowledge_bank_question
54
55
  knowledge_bank_answer
55
56
  media_file
@@ -5,7 +5,14 @@ module MeducationSDK
5
5
  def created_by
6
6
  @created_by ||= User.find(created_by_id)
7
7
  end
8
-
8
+
9
+ def indexable_content
10
+ @indexable_content ||= begin
11
+ object = IndexableContent.where(item_id: id, item_type: "ExternalResource").first
12
+ object ? object.content : ''
13
+ end
14
+ end
15
+
9
16
  def self.reimport_metadata(id)
10
17
  new Loquor.post("#{path}/#{id}/reimport_metadata", {})
11
18
  end
@@ -0,0 +1,17 @@
1
+ module MeducationSDK
2
+ class IndexableContent < Resource
3
+ self.path = "/indexable_contents"
4
+ self.spi_type = "Item::IndexableContent"
5
+ end
6
+
7
+ class IndexableContentMock < IndexableContent
8
+ extend Loquor::ResourceMock
9
+
10
+ self.attributes = {
11
+ id: 1,
12
+ content: "The cat sat on the mat",
13
+ item_id: 5, item_type: "MediaFile"
14
+ }
15
+ end
16
+ end
17
+
@@ -10,6 +10,13 @@ module MeducationSDK
10
10
  @comments ||= Comment.where(item_id: id, item_type: "MediaFile")
11
11
  end
12
12
 
13
+ def indexable_content
14
+ @indexable_content ||= begin
15
+ object = IndexableContent.where(item_id: id, item_type: "MediaFile").first
16
+ object ? object.content : ''
17
+ end
18
+ end
19
+
13
20
  module State
14
21
  def self.uploaded; 1 end
15
22
  def self.processing; 2 end
@@ -1,3 +1,3 @@
1
1
  module MeducationSDK
2
- VERSION = "2.0.2"
2
+ VERSION = "2.0.3"
3
3
  end
@@ -12,15 +12,27 @@ module MeducationSDK
12
12
  er.created_by
13
13
  end
14
14
 
15
+ def test_indexable_content_calls_sdk
16
+ er = ExternalResource.new(id: 5)
17
+ content = "Foobar123"
18
+ MeducationSDK::IndexableContent.expects(:where).with(item_id: er.id, item_type: "ExternalResource").returns([IndexableContent.new(content: content)])
19
+ assert_equal content, er.indexable_content
20
+ end
21
+
22
+ def test_indexable_content_deals_with_no_result
23
+ er = ExternalResource.new(id: 5)
24
+ MeducationSDK::IndexableContent.expects(:where).with(item_id: er.id, item_type: "ExternalResource").returns([])
25
+ assert_equal "", er.indexable_content
26
+ end
27
+
15
28
  def test_responds_to_rating
16
29
  er = ExternalResource.new(rating: 5)
17
30
  assert er.respond_to?(:rating)
18
31
  end
19
-
32
+
20
33
  def test_can_retrigger_metadata_load
21
34
  Loquor.expects(:post).with('/external_resources/12/reimport_metadata', {})
22
35
  ExternalResource.reimport_metadata(12)
23
36
  end
24
-
25
37
  end
26
38
  end
@@ -0,0 +1,8 @@
1
+ require_relative '../test_helper'
2
+ require_relative '../resource_test'
3
+
4
+ module MeducationSDK
5
+ class IndexableContentTest < ResourceTest
6
+ test_resource(IndexableContent, '/indexable_contents')
7
+ end
8
+ end
@@ -17,6 +17,19 @@ module MeducationSDK
17
17
  media_file.user
18
18
  end
19
19
 
20
+ def test_indexable_content_calls_sdk
21
+ media_file = MediaFile.new(id: 5)
22
+ content = "Foobar123"
23
+ MeducationSDK::IndexableContent.expects(:where).with(item_id: media_file.id, item_type: "MediaFile").returns([IndexableContent.new(content: content)])
24
+ assert_equal content, media_file.indexable_content
25
+ end
26
+
27
+ def test_indexable_content_deals_with_no_result
28
+ media_file = MediaFile.new(id: 5)
29
+ MeducationSDK::IndexableContent.expects(:where).with(item_id: media_file.id, item_type: "MediaFile").returns([])
30
+ assert_equal "", media_file.indexable_content
31
+ end
32
+
20
33
  def test_mdia_file_responds_to_rating
21
34
  media_file = MediaFile.new(rating: 5)
22
35
  assert media_file.respond_to?(:rating)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: meducation_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Walker
@@ -70,14 +70,14 @@ dependencies:
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ! '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ! '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
@@ -98,14 +98,14 @@ dependencies:
98
98
  name: mocha
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ! '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ! '>='
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  description: Meducation's SDK
@@ -162,6 +162,7 @@ files:
162
162
  - lib/meducation_sdk/resources/group_discussion_post.rb
163
163
  - lib/meducation_sdk/resources/group_invite.rb
164
164
  - lib/meducation_sdk/resources/group_membership.rb
165
+ - lib/meducation_sdk/resources/indexable_content.rb
165
166
  - lib/meducation_sdk/resources/knowledge_bank_answer.rb
166
167
  - lib/meducation_sdk/resources/knowledge_bank_question.rb
167
168
  - lib/meducation_sdk/resources/media_file.rb
@@ -223,6 +224,7 @@ files:
223
224
  - test/resources/group_invite_test.rb
224
225
  - test/resources/group_membership_test.rb
225
226
  - test/resources/group_test.rb
227
+ - test/resources/indexable_content_test.rb
226
228
  - test/resources/knowledge_bank_answer_test.rb
227
229
  - test/resources/knowledge_bank_question_test.rb
228
230
  - test/resources/media_file_test.rb
@@ -254,12 +256,12 @@ require_paths:
254
256
  - lib
255
257
  required_ruby_version: !ruby/object:Gem::Requirement
256
258
  requirements:
257
- - - '>='
259
+ - - ! '>='
258
260
  - !ruby/object:Gem::Version
259
261
  version: '0'
260
262
  required_rubygems_version: !ruby/object:Gem::Requirement
261
263
  requirements:
262
- - - '>='
264
+ - - ! '>='
263
265
  - !ruby/object:Gem::Version
264
266
  version: '0'
265
267
  requirements: []
@@ -308,6 +310,7 @@ test_files:
308
310
  - test/resources/group_invite_test.rb
309
311
  - test/resources/group_membership_test.rb
310
312
  - test/resources/group_test.rb
313
+ - test/resources/indexable_content_test.rb
311
314
  - test/resources/knowledge_bank_answer_test.rb
312
315
  - test/resources/knowledge_bank_question_test.rb
313
316
  - test/resources/media_file_test.rb
@@ -329,4 +332,3 @@ test_files:
329
332
  - test/resources/vote_test.rb
330
333
  - test/services/recommender_test.rb
331
334
  - test/test_helper.rb
332
- has_rdoc: