ims_caliper 0.1.2 → 0.1.3

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- Y2QyM2ZmMWYwMjZjNWE3NGI5MGI0OTIyZGI0YzU0NDQxOWNiOGZkZA==
4
+ NDY2Y2Q2YzM0NjExMTU0NzZlNzAyY2ZmZjFjMWE2ZjNkOGZmYTY2ZQ==
5
5
  data.tar.gz: !binary |-
6
- NmViZGI2ZTM0MjIzNzlhZWQ0ZjMxNjgxOTIyOGE2MWViNDcyNjAzMQ==
6
+ YTE4MTRhMGU4YjU0YWEyOWQ2MmI1NDM3OWVjMmFhOGEzMjJhNDE0Ng==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MTE5NzI4ODQ1MzUxZDBiNjhjZTEzNTI0YjViM2MwMzkzMWYzM2ViNzE3Njgw
10
- ODVhYTIwY2U4MzQyMjg3NTQ1MmEzZDIzZWJjYjAwZDc2ZjFmNzYyYWU2MjAw
11
- MjFiODg0OWNmOTAyOWFjODkxNzU2NDYyMDQ4YTcxYTcwMDgwMTQ=
9
+ YjViMzRhMjQ2MTEzZjc2NjQ4MzA4ODM5MjY2MGUzMDA5MGQ2NDVmNGY2ZjYy
10
+ MDhjM2E4Yjc2MzliMjg4MjQwMGVlYzRjZmU0NDljOGZhNGQ5NzRkOTRiZGI4
11
+ MzM2MjkwNmYyMGMxNDY4OWI1N2IyMjAxODkwMTEwYzZkZTJiOTY=
12
12
  data.tar.gz: !binary |-
13
- ZmQ0MWViMzM5NGNmMmNlZDdiYmRhMWJmYzczZjE1ZjUyYTM0YzUwNzM2Nzg5
14
- NjcxOGRmOGY1YTBlNjQyZDNiNjJjN2MwMTUzN2RmYWZiYTcxZmU1ODhmMjgx
15
- YTNiNzJjNmQzMmNjZmZmYjZiMzY0MTU2ZWIzYzI0Njk0ZmYzODc=
13
+ ZWIzNWNiMDA0M2JhZWE2MzJhYjgyYjUwMGRmMmY2ZTAyMzZlMTE0ZDY1M2Q5
14
+ ZjY5NjkwOTAwMjcxYjZjMmZiYmYzODBkZTE2ZWU4YzRkMDRmMjliMjhhM2Yw
15
+ NTMzZWU5MTYxNjIwYTgxZmJiNjM5NTg2MjJjYTcxZjFhZGIzMzU=
@@ -85,6 +85,64 @@
85
85
  <ConfigurationWrapper RunnerId="RubyRunner" />
86
86
  <method />
87
87
  </configuration>
88
+ <configuration default="false" name="sensor" type="RubyRunConfigurationType" factoryName="Ruby" temporary="true">
89
+ <module name="caliper-ruby" />
90
+ <RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
91
+ <RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="$MODULE_DIR$/lib/caliper" />
92
+ <RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
93
+ <RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
94
+ <RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
95
+ <envs />
96
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
97
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
98
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
99
+ <COVERAGE_PATTERN ENABLED="true">
100
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
101
+ </COVERAGE_PATTERN>
102
+ </EXTENSION>
103
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
104
+ <RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$MODULE_DIR$/lib/caliper/sensor.rb" />
105
+ <RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="" />
106
+ <RunnerSettings RunnerId="RubyRunner" />
107
+ <ConfigurationWrapper RunnerId="RubyRunner" />
108
+ <method />
109
+ </configuration>
110
+ <configuration default="false" name="Run spec 'sensor_spec': caliper-ruby" type="RSpecRunConfigurationType" factoryName="RSpec" temporary="true">
111
+ <predefined_log_file id="RUBY_RSPEC" enabled="true" />
112
+ <module name="caliper-ruby" />
113
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
114
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$" />
115
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
116
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
117
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
118
+ <envs>
119
+ <env name="JRUBY_OPTS" value="-X+O" />
120
+ </envs>
121
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
122
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
123
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
124
+ <COVERAGE_PATTERN ENABLED="true">
125
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
126
+ </COVERAGE_PATTERN>
127
+ </EXTENSION>
128
+ <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
129
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
130
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/lib/sensor_spec.rb" />
131
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
132
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
133
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
134
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
135
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
136
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
137
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
138
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
139
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
140
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
141
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
142
+ <RunnerSettings RunnerId="RubyRunner" />
143
+ <ConfigurationWrapper RunnerId="RubyRunner" />
144
+ <method />
145
+ </configuration>
88
146
  </component>
89
147
  <component name="NewModuleRootManager">
90
148
  <content url="file://$MODULE_DIR$" />
@@ -1,4 +1,3 @@
1
- require 'rest_client'
2
1
  require_relative "options"
3
2
  require_relative 'jsonable'
4
3
  ##
@@ -1,4 +1,3 @@
1
- require 'rest_client'
2
1
  require_relative "options"
3
2
  require_relative 'jsonable'
4
3
 
@@ -1,4 +1,4 @@
1
- require 'rest_client'
1
+ require 'rest-client'
2
2
  require_relative "options"
3
3
  require_relative "event_envelope"
4
4
  require_relative "entity_envelope"
@@ -1,4 +1,4 @@
1
1
  module Caliper
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
4
4
 
@@ -0,0 +1,216 @@
1
+ require 'require_all'
2
+ require_all 'lib/caliper/entities/entity.rb'
3
+ require_all 'lib/caliper/entities/software_application.rb'
4
+ require_all 'lib/caliper/entities/lis/person.rb'
5
+ require_all 'lib/caliper/entities/lis/membership.rb'
6
+ require_all 'lib/caliper/entities/lis/roles.rb'
7
+ require_all 'lib/caliper/entities/lis/status.rb'
8
+ require_all 'lib/caliper/entities/lis/course_section.rb'
9
+ require_all 'lib/caliper/entities/lis/course_offering.rb'
10
+ require_all 'lib/caliper/entities/lis/group.rb'
11
+ require_all 'lib/caliper/entities/reading/epub_volume.rb'
12
+ require_all 'lib/caliper/entities/assessment/assessment.rb'
13
+ require_all 'lib/caliper/entities/assessment/assessment_item.rb'
14
+ require_all 'lib/caliper/entities/assignable/attempt.rb'
15
+ require_all 'lib/caliper/entities/assignable/assignable_digital_resource.rb'
16
+ require_all 'lib/caliper/entities/response/Response.rb'
17
+ require_all 'lib/caliper/entities/response/fillin_blank_response.rb'
18
+ require_all 'lib/caliper/event/assessment_item_event.rb'
19
+ require_all 'lib/caliper/profiles/assessment_profile.rb'
20
+ require_all 'lib/caliper/options.rb'
21
+ require_all 'lib/caliper/sensor.rb'
22
+ require_all 'lib/caliper/request/http_requestor.rb'
23
+ require 'json_spec'
24
+
25
+ module Caliper
26
+ module Event
27
+
28
+ describe AssessmentItemEvent do
29
+
30
+ it 'should ensure that a AssessmentItemEvent (Completed) is correctly created and serialized' do
31
+
32
+ # The Actor = Person/Student))
33
+ student = Caliper::Entities::LIS::Person.new
34
+ student.id = 'https://some-university.edu/user/554433'
35
+ membership1 = Caliper::Entities::LIS::Membership.new
36
+ membership1.id = "https://some-university.edu/membership/001"
37
+ membership1.member = "https://some-university.edu/user/554433"
38
+ membership1.organization = "https://some-university.edu/politicalScience/2015/american-revolution-101"
39
+ membership1.roles = [Caliper::Entities::LIS::Roles::LEARNER]
40
+ membership1.status = Caliper::Entities::LIS::Status::ACTIVE
41
+ membership1.dateCreated = "2015-08-01T06:00:00.000Z"
42
+ membership1.dateModified = nil;
43
+ membership2 = Caliper::Entities::LIS::Membership.new
44
+ membership2.id = "https://some-university.edu/membership/002"
45
+ membership2.member = "https://some-university.edu/user/554433"
46
+ membership2.organization = "https://some-university.edu/politicalScience/2015/american-revolution-101/section/001"
47
+ membership2.roles = [Caliper::Entities::LIS::Roles::LEARNER]
48
+ membership2.status = Caliper::Entities::LIS::Status::ACTIVE
49
+ membership2.dateCreated = "2015-08-01T06:00:00.000Z"
50
+ membership2.dateModified = nil
51
+ membership3 = Caliper::Entities::LIS::Membership.new
52
+ membership3.id = "https://some-university.edu/membership/003"
53
+ membership3.member = "https://some-university.edu/user/554433"
54
+ membership3.organization = "https://some-university.edu/politicalScience/2015/american-revolution-101/section/001/group/001"
55
+ membership3.roles = [Caliper::Entities::LIS::Roles::LEARNER]
56
+ membership3.status = Caliper::Entities::LIS::Status::ACTIVE
57
+ membership3.dateCreated = "2015-08-01T06:00:00.000Z"
58
+ membership3.dateModified = nil
59
+ student.hasMembership = [membership1, membership2, membership3]
60
+ student.dateCreated = '2015-08-01T06:00:00.000Z'
61
+ student.dateModified = '2015-09-02T11:30:00.000Z'
62
+ # puts "new student = #{student.to_json}"
63
+
64
+ # The Action
65
+ action = Caliper::Profiles::AssessmentItemActions::COMPLETED
66
+
67
+ # # The Object being interacted with by the Actor = Assessment)
68
+ # assessment = Caliper::Entities::Assessment::Assessment.new
69
+ # assessment.id = "https://some-university.edu/politicalScience/2015/american-revolution-101/assessment1"
70
+ # assessment.name = "American Revolution - Key Figures Assessment"
71
+ # assessment.dateModified = '2015-09-02T11:30:00.000Z'
72
+ # assessment.dateCreated = '2015-08-01T06:00:00.000Z'
73
+ # assessment.datePublished = '2015-08-15T09:30:00.000Z'
74
+ # assessment.version = "1.0"
75
+ # assessment.dateToActivate = '2015-08-16T05:00:00.000Z'
76
+ # assessment.dateToShow = '2015-08-16T05:00:00.000Z'
77
+ # assessment.dateToStartOn = "2015-08-16T05:00:00.000Z"
78
+ # assessment.dateToSubmit = "2015-09-28T11:59:59.000Z"
79
+ # assessment.maxAttempts = 2
80
+ # assessment.maxSubmits = 2
81
+ # assessment.maxScore = 3.0
82
+
83
+ # # The Assessment has three items
84
+ assessmentItem1 = Caliper::Entities::Assessment::AssessmentItem.new
85
+ assessmentItem1.id = "https://some-university.edu/politicalScience/2015/american-revolution-101/assessment1/item1"
86
+ assessmentItem1.name = "Assessment Item 1"
87
+ assessmentItem1.isPartOf = "https://some-university.edu/politicalScience/2015/american-revolution-101/assessment1"#assessment.id
88
+ assessmentItem1.maxAttempts = 2
89
+ assessmentItem1.maxSubmits = 2
90
+ assessmentItem1.maxScore = 1.0
91
+ assessmentItem1.dateCreated = nil
92
+ assessmentItem1.dateModified = nil
93
+ assessmentItem1.version = "1.0"
94
+ assessmentItem1.isTimeDependent = false
95
+
96
+ # assessmentItem2 = Caliper::Entities::Assessment::AssessmentItem.new
97
+ # assessmentItem2.id = "https://some-university.edu/politicalScience/2015/american-revolution-101/assessment1/item2"
98
+ # assessmentItem2.name = "Assessment Item 2"
99
+ # assessmentItem2.isPartOf = assessment.id
100
+ # assessmentItem2.maxAttempts = 2
101
+ # assessmentItem2.maxSubmits = 2
102
+ # assessmentItem2.maxScore = 1.0
103
+ # assessmentItem2.dateCreated = nil
104
+ # assessmentItem2.dateModified = nil
105
+ # assessmentItem2.version = "1.0"
106
+ # assessmentItem2.isTimeDependent = false
107
+
108
+ # assessmentItem3 = Caliper::Entities::Assessment::AssessmentItem.new
109
+ # assessmentItem3.id = "https://some-university.edu/politicalScience/2015/american-revolution-101/assessment1/item3"
110
+ # assessmentItem3.name = "Assessment Item 3"
111
+ # assessmentItem3.isPartOf = assessment.id
112
+ # assessmentItem3.maxAttempts = 2
113
+ # assessmentItem3.maxSubmits = 2
114
+ # assessmentItem3.maxScore = 1.0
115
+ # assessmentItem3.dateCreated = nil
116
+ # assessmentItem3.dateModified = nil
117
+ # assessmentItem3.version = "1.0"
118
+ # assessmentItem3.isTimeDependent = false
119
+
120
+ # assessment.assessmentItems = [assessmentItem1, assessmentItem2, assessmentItem3]
121
+
122
+ # # The target object within the Event Object
123
+ # target = nil;
124
+ # # The attempt object = Attempt) within the Event Object
125
+ attempt = Caliper::Entities::Assignable::Attempt.new
126
+ attempt.id = "https://some-university.edu/politicalScience/2015/american-revolution-101/assessment1/item1/attempt1"
127
+ attempt.actor = "https://some-university.edu/user/554433"
128
+ attempt.assignable = "https://some-university.edu/politicalScience/2015/american-revolution-101/assessment1"
129
+ attempt.dateCreated = "2015-08-01T06:00:00.000Z"
130
+ attempt.dateModified = nil
131
+ attempt.count = 1
132
+ attempt.startedAtTime = "2015-09-15T10:15:00.000Z"
133
+ attempt.duration = nil
134
+ attempt.endedAtTime = nil
135
+ attempt.extensions = {}
136
+ attempt.name = nil
137
+
138
+ response = Caliper::Entities::Response::FillinBlankResponse.new
139
+ response.id = "https://some-university.edu/politicalScience/2015/american-revolution-101/assessment1/item1/response1"
140
+ response.name = nil
141
+ response.description = nil
142
+ response.extensions = {}
143
+ response.dateCreated = "2015-08-01T06:00:00.000Z"
144
+ response.dateModified = nil
145
+ response.assignable = "https://some-university.edu/politicalScience/2015/american-revolution-101/assessment1"
146
+ response.actor = "https://some-university.edu/user/554433"
147
+ response.attempt = attempt
148
+ response.duration = nil
149
+ response.startedAtTime = "2015-09-15T10:15:00.000Z"
150
+ response.endedAtTime = nil
151
+ response.values = ["2 July 1776"]
152
+
153
+ # The Object (edApp)
154
+ edApp = Caliper::Entities::SoftwareApplication.new
155
+ edApp.id = 'https://com.sat/super-assessment-tool'
156
+ edApp.name = 'Super Assessment Tool'
157
+ edApp.hasMembership = []
158
+ edApp.dateCreated = '2015-08-01T06:00:00.000Z'
159
+ edApp.dateModified = nil
160
+
161
+ #LIS Course Offering
162
+ courseOffering = Caliper::Entities::LIS::CourseOffering.new
163
+ courseOffering.id = "https://some-university.edu/politicalScience/2015/american-revolution-101"
164
+ courseOffering.name = "Political Science 101: The American Revolution"
165
+ courseOffering.courseNumber = "POL101"
166
+ courseOffering.academicSession = "Fall-2015"
167
+ courseOffering.membership = []
168
+ courseOffering.subOrganizationOf = nil
169
+ courseOffering.dateCreated = '2015-08-01T06:00:00.000Z'
170
+ courseOffering.dateModified = '2015-09-02T11:30:00.000Z'
171
+
172
+ # The LIS Course Section for the Caliper Event
173
+ course = Caliper::Entities::LIS::CourseSection.new
174
+ course.id = 'https://some-university.edu/politicalScience/2015/american-revolution-101/section/001'
175
+ course.name = 'American Revolution 101'
176
+ course.courseNumber = "POL101"
177
+ course.academicSession = "Fall-2015"
178
+ course.category = nil
179
+ course.membership = [membership2]
180
+ course.subOrganizationOf = courseOffering
181
+ course.dateCreated = '2015-08-01T06:00:00.000Z'
182
+ course.dateModified = '2015-09-02T11:30:00.000Z'
183
+
184
+ # LIS Group
185
+ group = Caliper::Entities::LIS::Group.new
186
+ group.id = "https://some-university.edu/politicalScience/2015/american-revolution-101/section/001/group/001"
187
+ group.name = "Discussion Group 001"
188
+ group.membership = [membership3]
189
+ group.subOrganizationOf = course
190
+ group.dateCreated = '2015-08-01T06:00:00.000Z'
191
+ group.dateModified = nil
192
+
193
+ # The Assessment Event
194
+ assessment_event = AssessmentItemEvent.new
195
+ assessment_event.actor = student
196
+ assessment_event.action = action
197
+ assessment_event.object = assessmentItem1
198
+ assessment_event.target = nil
199
+ assessment_event.generated = response
200
+ assessment_event.edApp = edApp
201
+ assessment_event.group = group
202
+ assessment_event.startedAtTime = '2015-09-15T10:15:00.000Z'
203
+ assessment_event.endedAtTime = nil
204
+ assessment_event.duration = nil
205
+ # puts "Event JSON = #{assessment_event.to_json}'"
206
+
207
+ options = Options.new
208
+ options. = '_-kJMcjiSymICwhUaHULbg' #@options['apiKey']
209
+ options.sensorId = 'D9DC57B5-3AAA-41D4-B73D-58AE828D9D85'# @options['sensorId']
210
+ sensor = Sensor.new options
211
+ sensor.send event
212
+ end
213
+
214
+ end
215
+ end
216
+ end
@@ -22,7 +22,8 @@ module Caliper
22
22
  # for now, uncomment the line below after setting options.host above
23
23
  # to a new/valid request bin or end point URL.
24
24
 
25
- # sensor.send event
25
+ response = sensor.send event
26
+ p response
26
27
 
27
28
  end
28
29
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ims_caliper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Caliper Dev Group
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-22 00:00:00.000000000 Z
11
+ date: 2015-04-23 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: This is the implementation of IMSGlobal Caliper in Ruby
14
14
  email:
@@ -139,6 +139,7 @@ files:
139
139
  - spec/lib/event/session_event_timeout_spec.rb
140
140
  - spec/lib/event/viewed_event_spec.rb
141
141
  - spec/lib/event_helper.rb
142
+ - spec/lib/request/http_request_spec.rb
142
143
  - spec/lib/sensor_spec.rb
143
144
  - spec/spec_helper.rb
144
145
  homepage: https://github.com/IMSGlobal/caliper-ruby
@@ -184,5 +185,6 @@ test_files:
184
185
  - spec/lib/event/session_event_timeout_spec.rb
185
186
  - spec/lib/event/viewed_event_spec.rb
186
187
  - spec/lib/event_helper.rb
188
+ - spec/lib/request/http_request_spec.rb
187
189
  - spec/lib/sensor_spec.rb
188
190
  - spec/spec_helper.rb