ims_caliper 0.1.1 → 0.1.2

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.
Files changed (131) hide show
  1. checksums.yaml +8 -8
  2. data/.gitignore +37 -0
  3. data/.idea/caliper-ruby.iml +98 -0
  4. data/.idea/encodings.xml +5 -0
  5. data/.idea/misc.xml +5 -0
  6. data/.idea/modules.xml +9 -0
  7. data/.idea/scopes/scope_settings.xml +5 -0
  8. data/.idea/vcs.xml +7 -0
  9. data/Gemfile +12 -1
  10. data/Gemfile.lock +42 -1
  11. data/LICENSE +67 -0
  12. data/NOTICE +15 -0
  13. data/README.md +13 -5
  14. data/caliper.gemspec +2 -8
  15. data/lib/caliper/defaults.rb +4 -4
  16. data/lib/caliper/entities/annotation/annotation.rb +14 -4
  17. data/lib/caliper/entities/annotation/bookmark_annotation.rb +14 -4
  18. data/lib/caliper/entities/annotation/highlight_annotation.rb +14 -3
  19. data/lib/caliper/entities/annotation/shared_annotation.rb +12 -3
  20. data/lib/caliper/entities/annotation/tag_annotation.rb +13 -3
  21. data/lib/caliper/entities/assessment/assessment.rb +27 -0
  22. data/lib/caliper/entities/assessment/assessment_item.rb +26 -0
  23. data/lib/caliper/entities/assignable/assignable_digital_resource.rb +47 -0
  24. data/lib/caliper/entities/assignable/attempt.rb +32 -0
  25. data/lib/caliper/entities/digital_resource.rb +36 -35
  26. data/lib/caliper/entities/entity.rb +50 -36
  27. data/lib/caliper/entities/foaf/agent.rb +1 -1
  28. data/lib/caliper/entities/jsonable.rb +56 -0
  29. data/lib/caliper/entities/learning_objective.rb +26 -0
  30. data/lib/caliper/entities/lis/course_offering.rb +30 -0
  31. data/lib/caliper/entities/lis/course_section.rb +27 -15
  32. data/lib/caliper/entities/lis/group.rb +27 -0
  33. data/lib/caliper/entities/lis/membership.rb +32 -0
  34. data/lib/caliper/entities/lis/organization.rb +20 -17
  35. data/lib/caliper/entities/lis/person.rb +23 -10
  36. data/lib/caliper/entities/lis/roles.rb +77 -0
  37. data/lib/caliper/entities/lis/status.rb +19 -0
  38. data/lib/caliper/entities/media/audio_object.rb +21 -0
  39. data/lib/caliper/entities/media/image_object.rb +21 -0
  40. data/lib/caliper/entities/media/media_location.rb +23 -0
  41. data/lib/caliper/entities/media/media_object.rb +38 -0
  42. data/lib/caliper/entities/media/video_object.rb +21 -0
  43. data/lib/caliper/entities/reading/epub_volume.rb +15 -7
  44. data/lib/caliper/entities/reading/frame.rb +7 -15
  45. data/lib/caliper/entities/response/fillin_blank_response.rb +20 -0
  46. data/lib/caliper/entities/response/multiple_choice_response.rb +20 -0
  47. data/lib/caliper/entities/response/multiple_response_response.rb +20 -0
  48. data/lib/caliper/entities/response/response.rb +23 -0
  49. data/lib/caliper/entities/response/response_type.rb +13 -0
  50. data/lib/caliper/entities/response/select_type_response.rb +20 -0
  51. data/lib/caliper/entities/response/true_false_response.rb +21 -0
  52. data/lib/caliper/entities/schemadotorg/software_application.rb +8 -8
  53. data/lib/caliper/entities/session.rb +25 -17
  54. data/lib/caliper/entities/software_application.rb +16 -7
  55. data/lib/caliper/entities/web_page.rb +2 -0
  56. data/lib/caliper/entity_envelope.rb +21 -0
  57. data/lib/caliper/event/annotation_event.rb +10 -6
  58. data/lib/caliper/event/assessment_event.rb +19 -0
  59. data/lib/caliper/event/assessment_item_event.rb +19 -0
  60. data/lib/caliper/event/assignable_event.rb +19 -0
  61. data/lib/caliper/event/event.rb +70 -50
  62. data/lib/caliper/event/jsonable.rb +55 -0
  63. data/lib/caliper/event/navigation_event.rb +2 -7
  64. data/lib/caliper/event/outcome_event.rb +1 -1
  65. data/lib/caliper/event/session_event.rb +13 -14
  66. data/lib/caliper/event/view_event.rb +6 -7
  67. data/lib/caliper/event_envelope.rb +22 -0
  68. data/lib/caliper/jsonable.rb +53 -0
  69. data/lib/caliper/profiles/annotation_profile.rb +56 -53
  70. data/lib/caliper/profiles/assessment_profile.rb +48 -0
  71. data/lib/caliper/profiles/assignable_profile.rb +44 -0
  72. data/lib/caliper/profiles/media_profile.rb +54 -0
  73. data/lib/caliper/profiles/profile.rb +38 -38
  74. data/lib/caliper/profiles/reading_profile.rb +31 -28
  75. data/lib/caliper/profiles/session_profile.rb +17 -18
  76. data/lib/caliper/request/event_store_requestor.rb +26 -26
  77. data/lib/caliper/sensor.rb +46 -35
  78. data/lib/caliper/version.rb +1 -1
  79. data/spec/lib/entities/entity.json +9 -0
  80. data/spec/lib/entities/entity_spec.rb +37 -0
  81. data/spec/lib/entities/lis/person_spec.rb +37 -0
  82. data/spec/lib/entities/lis/student.json +11 -0
  83. data/spec/lib/event/annotation_event_bookmark_spec.rb +159 -0
  84. data/spec/lib/event/annotation_event_highlight_spec.rb +160 -0
  85. data/spec/lib/event/annotation_event_shared_spec.rb +172 -0
  86. data/spec/lib/event/annotation_event_tag_spec.rb +159 -0
  87. data/spec/lib/event/assessment_event_spec.rb +207 -0
  88. data/spec/lib/event/assessment_item_completed_event_spec.rb +223 -0
  89. data/spec/lib/event/assessment_item_started_event_spec.rb +207 -0
  90. data/spec/lib/event/media_event_spec.rb +157 -0
  91. data/spec/lib/event/navigated_event_spec.rb +160 -0
  92. data/spec/lib/event/session_event_login_spec.rb +160 -0
  93. data/spec/lib/event/session_event_logout_spec.rb +145 -0
  94. data/spec/lib/event/session_event_timeout_spec.rb +145 -0
  95. data/spec/lib/event/viewed_event_spec.rb +149 -0
  96. data/spec/lib/event_helper.rb +145 -0
  97. data/spec/lib/sensor_spec.rb +30 -0
  98. data/spec/spec_helper.rb +3 -2
  99. metadata +84 -61
  100. data/lib/caliper/client.rb +0 -33
  101. data/lib/caliper/consumer/base.rb +0 -46
  102. data/lib/caliper/consumer/queue.rb +0 -40
  103. data/lib/caliper/consumer/socket.rb +0 -132
  104. data/lib/caliper/entities/annotation/text_position_selector.rb +0 -14
  105. data/lib/caliper/entities/schemadotorg/audio_object.rb +0 -15
  106. data/lib/caliper/entities/schemadotorg/image_object.rb +0 -15
  107. data/lib/caliper/entities/schemadotorg/media_object.rb +0 -19
  108. data/lib/caliper/entities/schemadotorg/video_object.rb +0 -15
  109. data/lib/caliper/event/.shared.rb.swp +0 -0
  110. data/spec/lib/client_spec.rb +0 -35
  111. data/spec/lib/consumer/base_spec.rb +0 -28
  112. data/spec/lib/consumer/queue_spec.rb +0 -16
  113. data/spec/lib/event/annotation_spec.rb +0 -12
  114. data/spec/lib/event/bookmarked_spec.rb +0 -17
  115. data/spec/lib/event/commented_spec.rb +0 -19
  116. data/spec/lib/event/highlighted_spec.rb +0 -18
  117. data/spec/lib/event/navigation_spec.rb +0 -15
  118. data/spec/lib/event/shared_spec.rb +0 -18
  119. data/spec/lib/event/tagged_spec.rb +0 -17
  120. data/spec/lib/event/used_spec.rb +0 -15
  121. data/spec/lib/event/viewed_spec.rb +0 -15
  122. data/test/caliper/events/session_login_event_test.rb +0 -58
  123. data/test/caliper/events/session_logout_event_test.rb +0 -55
  124. data/test/caliper/events/session_timeout_event_test.rb +0 -55
  125. data/test/caliper/request/http_requestor_test.rb +0 -59
  126. data/test/caliper/test_event.rb +0 -53
  127. data/test/caliper/test_utils.rb +0 -198
  128. data/test/fixtures/caliper_session_login_event.json +0 -71
  129. data/test/fixtures/caliper_session_logout_event.json +0 -52
  130. data/test/fixtures/caliper_session_timeout_event.json +0 -52
  131. data/test/fixtures/event_store_payload.json +0 -85
@@ -5,7 +5,7 @@ module Caliper
5
5
  module Entities
6
6
  module FOAF
7
7
  module Agent
8
-
8
+ attr_accessor :hasMembership # Membership
9
9
  end
10
10
  end
11
11
  end
@@ -0,0 +1,56 @@
1
+ require 'json'
2
+
3
+ #
4
+ #
5
+ # @copyright @copyright ©2013 IMS Global Learning Consortium, Inc. All Rights Reserved.
6
+ # @license For license information contact, info@imsglobal.org
7
+ #
8
+ # Module that supports ser-des for Caliper Entities/JSON
9
+ #
10
+ module Caliper
11
+ module Entities
12
+ module Jsonable
13
+
14
+ def self.included(base)
15
+ base.extend ClassMethods
16
+ end
17
+
18
+ module ClassMethods
19
+ end
20
+
21
+ def to_json(*a)
22
+ # puts 'Jsonable: to_json invoked'
23
+ result = {}
24
+ result['@id'] = self.id
25
+ result['@type'] = self.type
26
+ self.instance_variables.each do |key|
27
+ # puts "got key = #{key}"
28
+ next if (key[1..-1] == 'id' || key[1..-1] == 'type')
29
+ value = self.instance_variable_get key
30
+ # puts "setting #{key}: #{value}"
31
+ result[key[1..-1]] = value
32
+ end
33
+ result.to_json(*a)
34
+ end
35
+
36
+ def from_json json_hash
37
+ data = json_hash
38
+ # puts "Jsonable: from_json: json_hash = #{json_hash}"
39
+ self.id = data['@id']
40
+ self.type = data['@type']
41
+ self.name = data['name']
42
+ json_hash.each do | key, value |
43
+ next if (key[1..-1] == 'id' || key[1..-1] == 'type')
44
+ # puts "Jsonable - adding #{key} : #{value}"
45
+ self.instance_variable_set "@#{key}", value
46
+ end
47
+ return self
48
+ end
49
+
50
+ def eql?(other)
51
+ @id == other.id && @type == other.type && @name == other.name && @description == other.description && @dateCreated == other.dateCreated && @dateModified == other.dateModified
52
+ end
53
+
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,26 @@
1
+ require_relative 'entity'
2
+ require_relative 'generatable'
3
+ require_relative 'targetable'
4
+ require_relative './jsonable'
5
+
6
+ #
7
+ #
8
+ # @copyright @copyright ©2013 IMS Global Learning Consortium, Inc. All Rights Reserved.
9
+ # @license For license information contact, info@imsglobal.org
10
+ #
11
+ #
12
+ # Learning Objective
13
+ #
14
+ module Caliper
15
+ module Entities
16
+
17
+ class LearningObjective < Entity
18
+
19
+ def initialize
20
+ super
21
+ @type = EntityType::LEARNING_OBJECTIVE
22
+ end
23
+
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,30 @@
1
+ require_relative './organization'
2
+ require_relative '../../entities/jsonable'
3
+
4
+ #
5
+ #
6
+ # @copyright @copyright ©2013 IMS Global Learning Consortium, Inc. All Rights Reserved.
7
+ # @license For license information contact, info@imsglobal.org
8
+ #
9
+ #
10
+ # a LIS Course Section
11
+ #
12
+ module Caliper
13
+ module Entities
14
+ module LIS
15
+
16
+ class CourseOffering < Caliper::Entities::LIS::Organization
17
+ include Caliper::Entities::Jsonable
18
+
19
+ attr_accessor :courseNumber,
20
+ :academicSession
21
+
22
+ def initialize
23
+ super
24
+ @type = OrganizationType::COURSE_OFFERING
25
+ end
26
+
27
+ end
28
+ end
29
+ end
30
+ end
@@ -1,18 +1,30 @@
1
1
  require_relative './organization'
2
+ require_relative '../../entities/jsonable'
3
+ require_relative './course_offering'
2
4
 
5
+ #
6
+ #
7
+ # @copyright @copyright ©2013 IMS Global Learning Consortium, Inc. All Rights Reserved.
8
+ # @license For license information contact, info@imsglobal.org
9
+ #
10
+ #
11
+ # a LIS Course Section
12
+ #
3
13
  module Caliper
4
- module Entities
5
- module LIS
6
- class CourseSection < Caliper::Entities::LIS::Organization
7
- attr_accessor :type,
8
- :semester,
9
- :course_number,
10
- :label
11
- def initialize
12
- super
13
- @type = OrganizationType::LIS_COURSE_SECTION
14
- end
15
- end
16
- end
17
- end
18
- end
14
+ module Entities
15
+ module LIS
16
+
17
+ class CourseSection < Caliper::Entities::LIS::CourseOffering
18
+ include Caliper::Entities::Jsonable
19
+
20
+ attr_accessor :category
21
+
22
+ def initialize
23
+ super
24
+ @type = OrganizationType::LIS_COURSE_SECTION
25
+ end
26
+
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,27 @@
1
+ require_relative './organization'
2
+ require_relative '../../entities/jsonable'
3
+
4
+ #
5
+ #
6
+ # @copyright @copyright ©2013 IMS Global Learning Consortium, Inc. All Rights Reserved.
7
+ # @license For license information contact, info@imsglobal.org
8
+ #
9
+ #
10
+ # a LIS Course Section
11
+ #
12
+ module Caliper
13
+ module Entities
14
+ module LIS
15
+
16
+ class Group < Caliper::Entities::LIS::Organization
17
+ include Caliper::Entities::Jsonable
18
+
19
+ def initialize
20
+ super
21
+ @type = OrganizationType::GROUP
22
+ end
23
+
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,32 @@
1
+ require_relative './organization'
2
+ require_relative '../../entities/jsonable'
3
+
4
+ #
5
+ #
6
+ # @copyright @copyright ©2013 IMS Global Learning Consortium, Inc. All Rights Reserved.
7
+ # @license For license information contact, info@imsglobal.org
8
+ #
9
+ #
10
+ # W3C Membership
11
+ #
12
+ module Caliper
13
+ module Entities
14
+ module LIS
15
+
16
+ class Membership < Caliper::Entities::LIS::Organization
17
+ include Caliper::Entities::Jsonable
18
+
19
+ attr_accessor :member,
20
+ :organization,
21
+ :roles,
22
+ :status
23
+
24
+ def initialize
25
+ super
26
+ @type = EntityType::MEMBERSHIP
27
+ end
28
+
29
+ end
30
+ end
31
+ end
32
+ end
@@ -2,21 +2,24 @@ require_relative '../../entities/foaf/agent'
2
2
  require_relative '../../entities/entity'
3
3
 
4
4
  module Caliper
5
- module Entities
6
- module LIS
7
- module OrganizationType
8
- LIS_COURSE_SECTION = "http://purl.imsglobal.org/caliper/v1/lis/CourseSection"
9
- end
10
- class Organization < Entity
11
- include Caliper::Entities::FOAF::Agent
12
- attr_accessor :type, # String
13
- :parent_org # Organization
5
+ module Entities
6
+ module LIS
7
+ module OrganizationType
8
+ COURSE_OFFERING = "http://purl.imsglobal.org/caliper/v1/lis/CourseOffering"
9
+ LIS_COURSE_SECTION = "http://purl.imsglobal.org/caliper/v1/lis/CourseSection"
10
+ GROUP = "http://purl.imsglobal.org/caliper/v1/lis/Group"
11
+ end
12
+ class Organization < Entity
13
+ include Caliper::Entities::FOAF::Agent
14
14
 
15
- def initialize
16
- super
17
- @type = EntityType::LIS_ORGANIZATION
18
- end
19
- end
20
- end
21
- end
22
- end
15
+ attr_accessor :membership,
16
+ :subOrganizationOf
17
+
18
+ def initialize
19
+ super
20
+ @type = EntityType::ORGANIZATION
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -1,12 +1,25 @@
1
1
  require_relative '../../entities/entity'
2
-
2
+ require_relative '../../entities/foaf/agent.rb'
3
+ require_relative '../../entities/jsonable'
4
+ #
5
+ #
6
+ # @copyright @copyright ©2013 IMS Global Learning Consortium, Inc. All Rights Reserved.
7
+ # @license For license information contact, info@imsglobal.org
8
+ #
3
9
  module Caliper
4
- module Entities
5
- module LIS
6
- class Person < Entity
7
- include Caliper::Entities::FOAF::Agent
8
- attr_accessor :type # String
9
- end
10
- end
11
- end
12
- end
10
+ module Entities
11
+ module LIS
12
+ # Represents Person.
13
+ # @extends Agent
14
+ class Person < Entity
15
+ include Caliper::Entities::FOAF::Agent, Caliper::Entities::Jsonable
16
+
17
+ def initialize
18
+ super
19
+ @type = EntityType::LIS_PERSON
20
+ end
21
+
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,77 @@
1
+ require_relative '../../entities/entity'
2
+ require_relative '../../entities/foaf/agent.rb'
3
+ require_relative '../../entities/jsonable'
4
+ #
5
+ #
6
+ # @copyright @copyright ©2013 IMS Global Learning Consortium, Inc. All Rights Reserved.
7
+ # @license For license information contact, info@imsglobal.org
8
+ #
9
+ module Caliper
10
+ module Entities
11
+ module LIS
12
+ module Roles
13
+ LEARNER = 'http://purl.imsglobal.org/vocab/lis/v2/membership#Learner'
14
+ EXTERNAL_LEARNER = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Learner#ExternalLearner'
15
+ GUEST_LEARNER = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Learner#GuestLearner'
16
+ LEARNER_INSTRUCTOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Learner#Instructor'
17
+ LEARNER_LEARNER = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Learner#Learner'
18
+ NONCREDIT_LEARNER = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Learner#NonCreditLearner'
19
+
20
+ INSTRUCTOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor'
21
+ EXTERNAL_INSTRUCTOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Instructor#ExternalInstructor'
22
+ GUEST_INSTRUCTOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Instructor#GuestInstructor'
23
+ LECTURER = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Instructor#Lecturer'
24
+ PRIMARY_INSTRUCTOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Instructor#PrimaryInstructor'
25
+
26
+ ADMINISTRATOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership#Administrator'
27
+ ADMINISTRATOR_ADMINISTRATOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Administrator#Administrator'
28
+ ADMINISTRATOR_DEVELOPER = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Administrator#Developer'
29
+ ADMINISTRATOR_SUPPORT = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Administrator#Support'
30
+ ADMINISTRATOR_SYSTEM_ADMINISTRATOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Administrator#SystemAdministrator'
31
+
32
+ ADMINISTRATOR_EXTERNAL_DEVELOPER = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Administrator#ExternalSupport'
33
+ ADMINISTRATOR_EXTERNAL_SUPPORT = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Administrator#ExternalDeveloper'
34
+ ADMINISTRATOR_EXTERNAL_SYSTEM_ADMINISTRATOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Administrator#ExternalSystemAdministrator'
35
+
36
+ CONTENT_DEVELOPER = 'http://purl.imsglobal.org/vocab/lis/v2/membership#ContentDeveloper'
37
+ CONTENT_DEVELOPER_CONTENT_DEVELOPER = 'http://purl.imsglobal.org/vocab/lis/v2/membership/ContentDeveloper#ContentDeveloper'
38
+ CONTENT_DEVELOPER_LIBRARIAN = 'http://purl.imsglobal.org/vocab/lis/v2/membership/ContentDeveloper#Librarian'
39
+ CONTENT_DEVELOPER_CONTENT_EXPERT = 'http://purl.imsglobal.org/vocab/lis/v2/membership/ContentDeveloper#ContentExpert'
40
+ CONTENT_DEVELOPER_EXTERNAL_CONTENT_EXPERT = 'http://purl.imsglobal.org/vocab/lis/v2/membership/ContentDeveloper#ExternalContentExpert'
41
+
42
+ MANAGER = 'http://purl.imsglobal.org/vocab/lis/v2/membership#Manager'
43
+ MANAGER_AREA_MANAGER = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Manager#AreaManager'
44
+ MANAGER_COURSE_COORDINATOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Manager#CourseCoordinator'
45
+ MANAGER_OBSERVER = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Manager#Observer'
46
+ MANAGER_EXTERNAL_OBSERVER = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Manager#ExternalObserver'
47
+
48
+ MEMBER = 'http://purl.imsglobal.org/vocab/lis/v2/membership#Member'
49
+ MEMBER_MEMBER = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Member#Member'
50
+
51
+ MENTOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership#Mentor'
52
+ MENTOR_MENTOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#Mentor'
53
+ MENTOR_ADVISOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#Advisor'
54
+ MENTOR_AUDITOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#Auditor'
55
+ MENTOR_REVIEWER = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#Reviewer'
56
+ MENTOR_TUTOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#Tutor'
57
+ MENTOR_LEARNING_FACILITATOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#LearningFacilitator'
58
+
59
+ MENTOR_EXTERNAL_MENTOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#ExternalMentor'
60
+ MENTOR_EXTERNAL_ADVISOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#ExternalAdvisor'
61
+ MENTOR_EXTERNAL_AUDITOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#ExternalAuditor'
62
+ MENTOR_EXTERNAL_REVIEWER = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#ExternalReviewer'
63
+ MENTOR_EXTERNAL_TUTOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#ExternalTutor'
64
+ MENTOR_EXTERNAL_LEARNING_FACILITATOR = 'http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor/ExternalLearningFacilitator'
65
+
66
+ TEACHING_ASSISTANT = 'http://purl.imsglobal.org/vocab/lis/v2/membership#TeachingAssistant'
67
+ TEACHING_ASSISTANT_TEACHING_ASSISTANT = 'http://purl.imsglobal.org/vocab/lis/v2/membership/TeachingAssistant#TeachingAssistant'
68
+ TEACHING_ASSISTANT_GRADER = 'http://purl.imsglobal.org/vocab/lis/v2/membership/TeachingAssistant#Grader'
69
+ TEACHING_ASSISTANT_TEACHING_ASSISTANT_SECTION = 'http://purl.imsglobal.org/vocab/lis/v2/membership/TeachingAssistant#TeachingAssistantSection'
70
+ TEACHING_ASSISTANT_TEACHING_ASSISTANT_SECTION_ASSOCIATION = 'http://purl.imsglobal.org/vocab/lis/v2/membership/TeachingAssistant#TeachingAssistantSectionAssociation'
71
+ TEACHING_ASSISTANT_TEACHING_ASSISTANT_OFFERING = 'http://purl.imsglobal.org/vocab/lis/v2/membership/TeachingAssistant#TeachingAssistantOffering'
72
+ TEACHING_ASSISTANT_TEACHING_ASSISTANT_TEMPLATE = 'http://purl.imsglobal.org/vocab/lis/v2/membership/TeachingAssistant#TeachingAssistantTemplate'
73
+ TEACHING_ASSISTANT_TEACHING_ASSISTANT_GROUP = 'http://purl.imsglobal.org/vocab/lis/v2/membership/TeachingAssistant#TeachingAssistantGroup'
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,19 @@
1
+ require_relative '../../entities/entity'
2
+ require_relative '../../entities/foaf/agent.rb'
3
+ require_relative '../../entities/jsonable'
4
+ #
5
+ #
6
+ # @copyright @copyright ©2013 IMS Global Learning Consortium, Inc. All Rights Reserved.
7
+ # @license For license information contact, info@imsglobal.org
8
+ #
9
+ module Caliper
10
+ module Entities
11
+ module LIS
12
+ module Status
13
+ ACTIVE = 'http://purl.imsglobal.org/vocab/lis/v2/status#Active'
14
+ DELETED = 'http://purl.imsglobal.org/vocab/lis/v2/status#Deleted'
15
+ INACTIVE = 'http://purl.imsglobal.org/vocab/lis/v2/status#Inactive'
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,21 @@
1
+ require_relative 'media_object'
2
+
3
+ # https://schema.org/AudioObject
4
+ #
5
+ # A audio object embedded in a web page..
6
+
7
+ module Caliper
8
+ module Entities
9
+ module Media
10
+
11
+ class AudioObject < MediaObject
12
+
13
+ def initialize
14
+ super
15
+ @type = MediaType::AUDIO_OBJECT
16
+ end
17
+
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ require_relative 'media_object'
2
+
3
+ # https://schema.org/ImageObject
4
+ #
5
+ # A image object embedded in a web page..
6
+
7
+ module Caliper
8
+ module Entities
9
+ module Media
10
+
11
+ class ImageObject < MediaObject
12
+
13
+ def initialize
14
+ super
15
+ @type = MediaType::IMAGE_OBJECT
16
+ end
17
+
18
+ end
19
+ end
20
+ end
21
+ end