meducation_sdk 2.2.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 641c80d33cabe778ca626f414b178a4b7f4ea5bd
4
- data.tar.gz: dba7dc77c9f9c559984cb863fe2c6d92755a5144
3
+ metadata.gz: f1e7754cf2ce744abd1602733ab0be33c310a59b
4
+ data.tar.gz: e655e2e4ebc92be94e69e55499dd21cd19137989
5
5
  SHA512:
6
- metadata.gz: ce33c27851dc24bc6739d77f05bc7664043feefb65f2c661d6341a600ac07604d68fd6da707fa0dc72e8b5f5cc26d2d240d72507565b020b4f030259a0acc335
7
- data.tar.gz: 8f52de673fce9af884391de35f4155bf3f38add1b846c745fb77727a7d7047ce041cd2679357d9f972d029249921010a5a0c75d36c71920e6a48f37ce11cc525
6
+ metadata.gz: 67eb65f11793162c580b56aa97ebf2d82af5473b5d50d4339019697346ebba601b2cf8a77bd261278e14928a11b0ab27c5049d77653974bd5fe0adfc7e160e21
7
+ data.tar.gz: 3708b8025ab3e18f63156ede70269bbe10d44971e626da2e528e7275b294c2f3f897faff9438c56bc4158e5ac2d1448697d268b642bb3f06e345377d3cc14c98
@@ -1,3 +1,6 @@
1
+ # 2.2.1 / 2014-05-01
2
+ * [FEATURE] Add item_mesh_headings to media files, external resources, collection topics and blog posts
3
+
1
4
  # 2.2.0 / 2014-04-28
2
5
  * [FEATURE] Remove last_30_days and last_60_days
3
6
  * [FEATURE] Add reputation to users
@@ -1,14 +1,14 @@
1
1
  require 'active_support/all'
2
2
  require 'loquor'
3
3
 
4
- require "meducation_sdk/version"
5
- require "meducation_sdk/configuration"
6
- require "meducation_sdk/mocker"
4
+ require 'meducation_sdk/version'
5
+ require 'meducation_sdk/configuration'
6
+ require 'meducation_sdk/mocker'
7
7
 
8
- require "meducation_sdk/helpers"
9
- require "meducation_sdk/services/recommender"
10
- require "meducation_sdk/resource"
11
- require "meducation_sdk/email_shortcodes"
8
+ require 'meducation_sdk/helpers'
9
+ require 'meducation_sdk/services/recommender'
10
+ require 'meducation_sdk/resource'
11
+ require 'meducation_sdk/email_shortcodes'
12
12
 
13
13
  module MeducationSDK
14
14
  def self.config
@@ -17,6 +17,7 @@ module MeducationSDK
17
17
  end
18
18
 
19
19
  RESOURCES = %w{
20
+ item_mesh_heading
20
21
  author
21
22
  badges/answerer_badge
22
23
  badges/citizen_badge
@@ -13,6 +13,15 @@ module MeducationSDK
13
13
  def comments
14
14
  @comments ||= Comment.where(item_id: id, item_type: "BlogPost")
15
15
  end
16
+
17
+ def item_mesh_headings
18
+ @item_mesh_headings ||= begin
19
+ @data['item_mesh_headings'].map do |imh|
20
+ ItemMeshHeading.new(item_id: imh['item_id'], item_type: imh['item_type'], mesh_root: imh['mesh_root'], mesh_heading: imh['mesh_heading'], relevance: imh['relevance'])
21
+ end
22
+ end
23
+ end
24
+
16
25
  end
17
26
 
18
27
  class BlogPostMock < BlogPost
@@ -24,7 +33,12 @@ module MeducationSDK
24
33
  user_id: 14,
25
34
  title: "My First Blog Post",
26
35
  slug: "my-first-blog-post",
27
- header_url: '/defaults/blog_posts/headers/missing_card.png'
36
+ header_url: '/defaults/blog_posts/headers/missing_card.png',
37
+ item_mesh_headings: [
38
+ ItemMeshHeading.new(item_id: 1, item_type: 'ExternalResource', mesh_root: 'A', mesh_heading: 'D000001', relevance: 0.1),
39
+ ItemMeshHeading.new(item_id: 1, item_type: 'ExternalResource', mesh_root: 'B', mesh_heading: 'D000002', relevance: 0.2),
40
+ ItemMeshHeading.new(item_id: 1, item_type: 'ExternalResource', mesh_root: 'C', mesh_heading: 'D000003', relevance: 0.3)
41
+ ]
28
42
  }
29
43
  end
30
44
  end
@@ -4,7 +4,7 @@ module MeducationSDK
4
4
 
5
5
  self.path = "/collection_topics"
6
6
 
7
- def collection
7
+ def collection
8
8
  @collection ||= Collection.find(collection_id)
9
9
  end
10
10
 
@@ -19,6 +19,15 @@ module MeducationSDK
19
19
  def comments
20
20
  @comments ||= Comment.where(id: comment_ids)
21
21
  end
22
+
23
+ def item_mesh_headings
24
+ @item_mesh_headings ||= begin
25
+ @data['item_mesh_headings'].map do |imh|
26
+ ItemMeshHeading.new(item_id: imh['item_id'], item_type: imh['item_type'], mesh_root: imh['mesh_root'], mesh_heading: imh['mesh_heading'], relevance: imh['relevance'])
27
+ end
28
+ end
29
+ end
30
+
22
31
  end
23
32
 
24
33
  class CollectionTopicMock < CollectionTopic
@@ -32,7 +41,12 @@ module MeducationSDK
32
41
  section_id: 17,
33
42
  resource_ids: [3, 4, 5],
34
43
  rating: 123,
35
- author_ids: [7,12,54]
44
+ author_ids: [7, 12, 54],
45
+ item_mesh_headings: [
46
+ ItemMeshHeading.new(item_id: 1, item_type: 'ExternalResource', mesh_root: 'A', mesh_heading: 'D000001', relevance: 0.1),
47
+ ItemMeshHeading.new(item_id: 1, item_type: 'ExternalResource', mesh_root: 'B', mesh_heading: 'D000002', relevance: 0.2),
48
+ ItemMeshHeading.new(item_id: 1, item_type: 'ExternalResource', mesh_root: 'C', mesh_heading: 'D000003', relevance: 0.3)
49
+ ]
36
50
  }
37
51
  end
38
52
  end
@@ -17,6 +17,14 @@ module MeducationSDK
17
17
  new Loquor.post("#{path}/#{id}/reimport_metadata", {})
18
18
  end
19
19
 
20
+ def item_mesh_headings
21
+ @item_mesh_headings ||= begin
22
+ @data['item_mesh_headings'].map do |imh|
23
+ ItemMeshHeading.new(item_id: imh['item_id'], item_type: imh['item_type'], mesh_root: imh['mesh_root'], mesh_heading: imh['mesh_heading'], relevance: imh['relevance'])
24
+ end
25
+ end
26
+ end
27
+
20
28
  end
21
29
 
22
30
  class ExternalResourceMock < ExternalResource
@@ -29,7 +37,12 @@ module MeducationSDK
29
37
  url: 'http://footube.example.com/foo/bar',
30
38
  title: 'Foo Bar Baz',
31
39
  description: 'The Foo Bar Baz mock external resource is a great FooTube video.',
32
- rating: 10
40
+ rating: 10,
41
+ item_mesh_headings: [
42
+ ItemMeshHeading.new(item_id: 1, item_type: 'ExternalResource', mesh_root: 'A', mesh_heading: 'D000001', relevance: 0.1),
43
+ ItemMeshHeading.new(item_id: 1, item_type: 'ExternalResource', mesh_root: 'B', mesh_heading: 'D000002', relevance: 0.2),
44
+ ItemMeshHeading.new(item_id: 1, item_type: 'ExternalResource', mesh_root: 'C', mesh_heading: 'D000003', relevance: 0.3)
45
+ ]
33
46
  }
34
47
 
35
48
  end
@@ -0,0 +1,24 @@
1
+ module MeducationSDK
2
+
3
+ class ItemMeshHeading < Resource
4
+
5
+ self.path = "/item_mesh_headings"
6
+ self.spi_type = "Item::MeshHeading"
7
+
8
+ end
9
+
10
+ class ItemMeshHeadingMock < ItemMeshHeading
11
+
12
+ extend Loquor::ResourceMock
13
+
14
+ self.attributes = {
15
+ id: 1,
16
+ mesh_root: 'A',
17
+ mesh_heading: 'D000025',
18
+ created_by: 'test',
19
+ item_id: 28, item_type: 'FooType'
20
+ }
21
+ end
22
+
23
+ end
24
+
@@ -1,20 +1,28 @@
1
1
  module MeducationSDK
2
2
  class MediaFile < Resource
3
- self.path = "/media_files"
3
+ self.path = '/media_files'
4
4
 
5
5
  def user
6
6
  @user ||= User.find(user_id)
7
7
  end
8
8
 
9
9
  def comments
10
- @comments ||= Comment.where(item_id: id, item_type: "MediaFile")
10
+ @comments ||= Comment.where(item_id: id, item_type: 'MediaFile')
11
11
  end
12
12
 
13
13
  def indexable_content
14
14
  @indexable_content ||= begin
15
- object = IndexableContent.where(item_id: id, item_type: "MediaFile").first
15
+ object = IndexableContent.where(item_id: id, item_type: 'MediaFile').first
16
16
  object ? object.content : ''
17
- end
17
+ end
18
+ end
19
+
20
+ def item_mesh_headings
21
+ @item_mesh_headings ||= begin
22
+ @data['item_mesh_headings'].map do |imh|
23
+ ItemMeshHeading.new(item_id: imh['item_id'], item_type: imh['item_type'], mesh_root: imh['mesh_root'], mesh_heading: imh['mesh_heading'], relevance: imh['relevance'])
24
+ end
25
+ end
18
26
  end
19
27
 
20
28
  module State
@@ -35,9 +43,15 @@ module MeducationSDK
35
43
  media_type: "video",
36
44
  title: "Abdominal Ultrasound Tutorial",
37
45
  preview_image_url: "http://www.example.com/1.jpg",
38
- mesh_headings: [{id: 1, name: "cardiology"}],
46
+ item_mesh_headings: [{id: 1, name: "cardiology"}],
47
+ mesh_headings: [{id: 1, name: "cardiology"}],
39
48
  rating: 10,
40
- usefulness: 1
49
+ usefulness: 1,
50
+ item_mesh_headings: [
51
+ ItemMeshHeading.new(item_id: 1, item_type: 'ExternalResource', mesh_root: 'A', mesh_heading: 'D000001', relevance: 0.1),
52
+ ItemMeshHeading.new(item_id: 1, item_type: 'ExternalResource', mesh_root: 'B', mesh_heading: 'D000002', relevance: 0.2),
53
+ ItemMeshHeading.new(item_id: 1, item_type: 'ExternalResource', mesh_root: 'C', mesh_heading: 'D000003', relevance: 0.3)
54
+ ]
41
55
  }
42
56
  end
43
57
  end
@@ -1,3 +1,3 @@
1
1
  module MeducationSDK
2
- VERSION = "2.2.0"
2
+ VERSION = "2.2.1"
3
3
  end
@@ -17,12 +17,12 @@ module MeducationSDK
17
17
  end
18
18
  end
19
19
  end
20
- define_method "test_helpers_included" do
20
+ define_method 'test_helpers_included' do
21
21
  assert Resource.new({}).respond_to?(:sdk_class_for)
22
22
  end
23
23
 
24
24
  def test_created_at_is_a_datetime
25
- resource = Resource.new(created_at: "2014-02-23T23:34:49Z")
25
+ resource = Resource.new(created_at: '2014-02-23T23:34:49Z')
26
26
  assert resource.created_at.is_a?(DateTime)
27
27
  assert_equal DateTime.new(2014, 2, 23, 23, 34, 49), resource.created_at
28
28
  end
@@ -22,6 +22,12 @@ module MeducationSDK
22
22
  MeducationSDK::Comment.expects(:where).with(item_id: blog_post.id, item_type: "BlogPost")
23
23
  blog_post.comments
24
24
  end
25
+
26
+ def test_responds_to_mesh
27
+ blog_post = BlogPost.new(id: 5)
28
+ assert blog_post.respond_to?('item_mesh_headings')
29
+ end
30
+
25
31
  end
26
32
  end
27
33
 
@@ -43,5 +43,11 @@ module MeducationSDK
43
43
  assert_equal users, topic.users
44
44
  assert_equal users, topic.instance_variable_get(:@users)
45
45
  end
46
+
47
+ def test_responds_to_mesh
48
+ topic = CollectionTopic.new(collection_id: 373)
49
+ assert topic.respond_to?('item_mesh_headings')
50
+ end
51
+
46
52
  end
47
53
  end
@@ -30,6 +30,11 @@ module MeducationSDK
30
30
  assert er.respond_to?(:rating)
31
31
  end
32
32
 
33
+ def test_responds_to_mesh
34
+ er = ExternalResource.new(rating: 5)
35
+ assert er.respond_to?('item_mesh_headings')
36
+ end
37
+
33
38
  def test_can_retrigger_metadata_load
34
39
  Loquor.expects(:post).with('/external_resources/12/reimport_metadata', {})
35
40
  ExternalResource.reimport_metadata(12)
@@ -30,14 +30,14 @@ module MeducationSDK
30
30
  assert_equal "", media_file.indexable_content
31
31
  end
32
32
 
33
- def test_mdia_file_responds_to_rating
33
+ def test_media_file_responds_to_rating
34
34
  media_file = MediaFile.new(rating: 5)
35
- assert media_file.respond_to?(:rating)
35
+ assert media_file.respond_to?('rating')
36
36
  end
37
37
 
38
- def test_mdia_file_responds_to_rating
38
+ def test_responds_to_mesh
39
39
  media_file = MediaFile.new(rating: 5)
40
- assert media_file.respond_to?('rating')
40
+ assert media_file.respond_to?('item_mesh_headings')
41
41
  end
42
42
 
43
43
  def test_uploaded_state_is_correct
@@ -1,13 +1,13 @@
1
- gem "minitest"
2
- require "minitest/autorun"
3
- require "minitest/pride"
4
- require "minitest/mock"
5
- require "mocha/setup"
1
+ gem 'minitest'
2
+ require 'minitest/autorun'
3
+ require 'minitest/pride'
4
+ require 'minitest/mock'
5
+ require 'mocha/setup'
6
6
 
7
7
  lib = File.expand_path('../../lib', __FILE__)
8
8
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
9
9
 
10
- require "meducation_sdk"
10
+ require 'meducation_sdk'
11
11
  require_relative 'resources/badges/badge_test.rb'
12
12
 
13
13
  class Minitest::Test
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: meducation_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Walker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-30 00:00:00.000000000 Z
11
+ date: 2014-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -166,6 +166,7 @@ files:
166
166
  - lib/meducation_sdk/resources/group_invite.rb
167
167
  - lib/meducation_sdk/resources/group_membership.rb
168
168
  - lib/meducation_sdk/resources/indexable_content.rb
169
+ - lib/meducation_sdk/resources/item_mesh_heading.rb
169
170
  - lib/meducation_sdk/resources/knowledge_bank_answer.rb
170
171
  - lib/meducation_sdk/resources/knowledge_bank_question.rb
171
172
  - lib/meducation_sdk/resources/media_file.rb
@@ -277,7 +278,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
277
278
  version: '0'
278
279
  requirements: []
279
280
  rubyforge_project:
280
- rubygems_version: 2.1.9
281
+ rubygems_version: 2.2.0
281
282
  signing_key:
282
283
  specification_version: 4
283
284
  summary: The SDK for Meducation
@@ -348,4 +349,3 @@ test_files:
348
349
  - test/resources/vote_test.rb
349
350
  - test/services/recommender_test.rb
350
351
  - test/test_helper.rb
351
- has_rdoc: