meducation_sdk 2.2.0 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
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: