From 54b88dbc85875c3adb487e1fc3e42c5dad5016a4 Mon Sep 17 00:00:00 2001 From: Murat GUZEL Date: Thu, 21 Mar 2013 15:25:10 +0200 Subject: [PATCH 01/16] test for call and call_raw methods --- lib/scorm_cloud/registration_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/scorm_cloud/registration_service.rb b/lib/scorm_cloud/registration_service.rb index 3b518fd..b4ab62c 100644 --- a/lib/scorm_cloud/registration_service.rb +++ b/lib/scorm_cloud/registration_service.rb @@ -29,7 +29,7 @@ def get_registration_list(options = {}) def get_registration_result(reg_id, format="course") raise "Illegal format argument: #{format}" unless ["course","activity","full"].include?(format) - connection.call_raw("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => format }) + connection.call("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => format }) end def launch(reg_id, redirect_url, options = {}) From 4fcaa675faee8a234ea082fb4f219db343d5e87c Mon Sep 17 00:00:00 2001 From: Murat GUZEL Date: Thu, 21 Mar 2013 15:55:58 +0200 Subject: [PATCH 02/16] RegistrationResult class for course registration result --- lib/scorm_cloud/registration_result.rb | 18 ++++++++++++++++++ lib/scorm_cloud/registration_service.rb | 7 ++++++- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 lib/scorm_cloud/registration_result.rb diff --git a/lib/scorm_cloud/registration_result.rb b/lib/scorm_cloud/registration_result.rb new file mode 100644 index 0000000..b9fd856 --- /dev/null +++ b/lib/scorm_cloud/registration_result.rb @@ -0,0 +1,18 @@ +module ScormCloud + class RegistrationResult < ScormCloud::BaseObject + + attr_accessor :format, :regid, :instanceid, :complate, :success, + :totaltime, :score + + + def self.from_xml(element) + reg_result = RegistrationResult.new + reg_result.set_attributes(element.attributes) + element.children.each do |element| + reg_result.set_attr(element.name, element.text) + end + reg_result + end + + end +end \ No newline at end of file diff --git a/lib/scorm_cloud/registration_service.rb b/lib/scorm_cloud/registration_service.rb index b4ab62c..1d06f1d 100644 --- a/lib/scorm_cloud/registration_service.rb +++ b/lib/scorm_cloud/registration_service.rb @@ -29,7 +29,12 @@ def get_registration_list(options = {}) def get_registration_result(reg_id, format="course") raise "Illegal format argument: #{format}" unless ["course","activity","full"].include?(format) - connection.call("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => format }) + connection.call_raw("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => format }) + end + + def get_regisration_result_for_course(reg_id) + xml = connection.call_raw("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => "course" }) + xml.elements["/rsp/registrationreport"].map { |e| RegistrationResult.from_xml(e) } end def launch(reg_id, redirect_url, options = {}) From f44f0203f70cfc8161c8562b678c0a0a8b364623 Mon Sep 17 00:00:00 2001 From: Murat GUZEL Date: Thu, 21 Mar 2013 15:59:31 +0200 Subject: [PATCH 03/16] RegistrationResult class for course registration result --- lib/scorm_cloud/registration_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/scorm_cloud/registration_service.rb b/lib/scorm_cloud/registration_service.rb index 1d06f1d..605a486 100644 --- a/lib/scorm_cloud/registration_service.rb +++ b/lib/scorm_cloud/registration_service.rb @@ -32,7 +32,7 @@ def get_registration_result(reg_id, format="course") connection.call_raw("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => format }) end - def get_regisration_result_for_course(reg_id) + def get_registration_result_for_course(reg_id) xml = connection.call_raw("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => "course" }) xml.elements["/rsp/registrationreport"].map { |e| RegistrationResult.from_xml(e) } end From ab7b6a6add8b750c7b4752b5b7e9b16d7a62b47d Mon Sep 17 00:00:00 2001 From: Murat GUZEL Date: Thu, 21 Mar 2013 16:08:14 +0200 Subject: [PATCH 04/16] RegistrationResult class for course registration result --- lib/scorm_cloud/registration_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/scorm_cloud/registration_service.rb b/lib/scorm_cloud/registration_service.rb index 605a486..d83f802 100644 --- a/lib/scorm_cloud/registration_service.rb +++ b/lib/scorm_cloud/registration_service.rb @@ -33,7 +33,7 @@ def get_registration_result(reg_id, format="course") end def get_registration_result_for_course(reg_id) - xml = connection.call_raw("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => "course" }) + xml = connection.call("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => "course" }) xml.elements["/rsp/registrationreport"].map { |e| RegistrationResult.from_xml(e) } end From 48c3b24a88f349f9d3d24f4847c8569a4b81edb2 Mon Sep 17 00:00:00 2001 From: Murat GUZEL Date: Thu, 21 Mar 2013 16:20:41 +0200 Subject: [PATCH 05/16] RegistrationResult class for course registration result --- lib/scorm_cloud/registration_result.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/scorm_cloud/registration_result.rb b/lib/scorm_cloud/registration_result.rb index b9fd856..8a255eb 100644 --- a/lib/scorm_cloud/registration_result.rb +++ b/lib/scorm_cloud/registration_result.rb @@ -8,7 +8,7 @@ class RegistrationResult < ScormCloud::BaseObject def self.from_xml(element) reg_result = RegistrationResult.new reg_result.set_attributes(element.attributes) - element.children.each do |element| + element.elements.each do |element| reg_result.set_attr(element.name, element.text) end reg_result From c0ea00fe45b5598ef165fdd16e9436281b3ba4c8 Mon Sep 17 00:00:00 2001 From: Murat GUZEL Date: Thu, 21 Mar 2013 16:25:22 +0200 Subject: [PATCH 06/16] RegistrationResult class for course registration result --- lib/scorm_cloud/registration_result.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/scorm_cloud/registration_result.rb b/lib/scorm_cloud/registration_result.rb index 8a255eb..635f793 100644 --- a/lib/scorm_cloud/registration_result.rb +++ b/lib/scorm_cloud/registration_result.rb @@ -8,9 +8,9 @@ class RegistrationResult < ScormCloud::BaseObject def self.from_xml(element) reg_result = RegistrationResult.new reg_result.set_attributes(element.attributes) - element.elements.each do |element| - reg_result.set_attr(element.name, element.text) - end + # element.elements.each do |element| + # reg_result.set_attr(element.name, element.text) + # end reg_result end From 74bb870761120ea545fc91869a0eb42234f70c35 Mon Sep 17 00:00:00 2001 From: Murat GUZEL Date: Thu, 21 Mar 2013 16:36:53 +0200 Subject: [PATCH 07/16] RegistrationResult class for course registration result --- lib/scorm_cloud/registration_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/scorm_cloud/registration_service.rb b/lib/scorm_cloud/registration_service.rb index d83f802..15a59b7 100644 --- a/lib/scorm_cloud/registration_service.rb +++ b/lib/scorm_cloud/registration_service.rb @@ -29,7 +29,7 @@ def get_registration_list(options = {}) def get_registration_result(reg_id, format="course") raise "Illegal format argument: #{format}" unless ["course","activity","full"].include?(format) - connection.call_raw("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => format }) + connection.call("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => format }) end def get_registration_result_for_course(reg_id) From adf71451390d33a9018b7bf8bb14a6be9e4dc000 Mon Sep 17 00:00:00 2001 From: Murat GUZEL Date: Thu, 21 Mar 2013 16:44:08 +0200 Subject: [PATCH 08/16] RegistrationResult class for course registration result --- lib/scorm_cloud/registration_service.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/scorm_cloud/registration_service.rb b/lib/scorm_cloud/registration_service.rb index 15a59b7..605a486 100644 --- a/lib/scorm_cloud/registration_service.rb +++ b/lib/scorm_cloud/registration_service.rb @@ -29,11 +29,11 @@ def get_registration_list(options = {}) def get_registration_result(reg_id, format="course") raise "Illegal format argument: #{format}" unless ["course","activity","full"].include?(format) - connection.call("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => format }) + connection.call_raw("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => format }) end def get_registration_result_for_course(reg_id) - xml = connection.call("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => "course" }) + xml = connection.call_raw("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => "course" }) xml.elements["/rsp/registrationreport"].map { |e| RegistrationResult.from_xml(e) } end From b3a4b72f6096de823aba95f89802bf922a1f72da Mon Sep 17 00:00:00 2001 From: Murat GUZEL Date: Thu, 21 Mar 2013 16:50:43 +0200 Subject: [PATCH 09/16] RegistrationResult class for course registration result --- lib/scorm_cloud/registration_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/scorm_cloud/registration_service.rb b/lib/scorm_cloud/registration_service.rb index 605a486..476e66f 100644 --- a/lib/scorm_cloud/registration_service.rb +++ b/lib/scorm_cloud/registration_service.rb @@ -34,7 +34,7 @@ def get_registration_result(reg_id, format="course") def get_registration_result_for_course(reg_id) xml = connection.call_raw("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => "course" }) - xml.elements["/rsp/registrationreport"].map { |e| RegistrationResult.from_xml(e) } + xml.element["/rsp/registrationreport"].map { |e| RegistrationResult.from_xml(e) } end def launch(reg_id, redirect_url, options = {}) From da5b5bd47544aaa999a7672297af5f6f2da9ddc8 Mon Sep 17 00:00:00 2001 From: Murat GUZEL Date: Thu, 21 Mar 2013 16:54:36 +0200 Subject: [PATCH 10/16] RegistrationResult class for course registration result --- lib/scorm_cloud/registration_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/scorm_cloud/registration_service.rb b/lib/scorm_cloud/registration_service.rb index 476e66f..ecee9b1 100644 --- a/lib/scorm_cloud/registration_service.rb +++ b/lib/scorm_cloud/registration_service.rb @@ -33,7 +33,7 @@ def get_registration_result(reg_id, format="course") end def get_registration_result_for_course(reg_id) - xml = connection.call_raw("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => "course" }) + xml = connection.call("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => "course" }) xml.element["/rsp/registrationreport"].map { |e| RegistrationResult.from_xml(e) } end From 1bb7cc04379538af7c485ba7db395a571ac107cb Mon Sep 17 00:00:00 2001 From: Murat GUZEL Date: Thu, 21 Mar 2013 16:58:30 +0200 Subject: [PATCH 11/16] RegistrationResult class for course registration result --- lib/scorm_cloud/registration_result.rb | 6 +++--- lib/scorm_cloud/registration_service.rb | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/scorm_cloud/registration_result.rb b/lib/scorm_cloud/registration_result.rb index 635f793..8a255eb 100644 --- a/lib/scorm_cloud/registration_result.rb +++ b/lib/scorm_cloud/registration_result.rb @@ -8,9 +8,9 @@ class RegistrationResult < ScormCloud::BaseObject def self.from_xml(element) reg_result = RegistrationResult.new reg_result.set_attributes(element.attributes) - # element.elements.each do |element| - # reg_result.set_attr(element.name, element.text) - # end + element.elements.each do |element| + reg_result.set_attr(element.name, element.text) + end reg_result end diff --git a/lib/scorm_cloud/registration_service.rb b/lib/scorm_cloud/registration_service.rb index ecee9b1..4574fc9 100644 --- a/lib/scorm_cloud/registration_service.rb +++ b/lib/scorm_cloud/registration_service.rb @@ -34,7 +34,7 @@ def get_registration_result(reg_id, format="course") def get_registration_result_for_course(reg_id) xml = connection.call("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => "course" }) - xml.element["/rsp/registrationreport"].map { |e| RegistrationResult.from_xml(e) } + xml.elements["/rsp"].map { |e| RegistrationResult.from_xml(e) } end def launch(reg_id, redirect_url, options = {}) From f401438c1d7321ddb20968c10e5c52a527d05b3f Mon Sep 17 00:00:00 2001 From: Murat GUZEL Date: Thu, 21 Mar 2013 17:12:17 +0200 Subject: [PATCH 12/16] RegistrationResult class for course registration result --- lib/scorm_cloud/registration_service.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/scorm_cloud/registration_service.rb b/lib/scorm_cloud/registration_service.rb index 4574fc9..f14661a 100644 --- a/lib/scorm_cloud/registration_service.rb +++ b/lib/scorm_cloud/registration_service.rb @@ -33,8 +33,8 @@ def get_registration_result(reg_id, format="course") end def get_registration_result_for_course(reg_id) - xml = connection.call("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => "course" }) - xml.elements["/rsp"].map { |e| RegistrationResult.from_xml(e) } + xml = REXML::Document.new connection.call("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => "course" }) + xml.element["/rsp/registrationresult"].map { |e| RegistrationResult.from_xml(e) } end def launch(reg_id, redirect_url, options = {}) From e062e0841fdd45eaece07adf4c1e941f35f820af Mon Sep 17 00:00:00 2001 From: Murat GUZEL Date: Thu, 21 Mar 2013 17:16:07 +0200 Subject: [PATCH 13/16] RegistrationResult class for course registration result --- lib/scorm_cloud/registration_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/scorm_cloud/registration_service.rb b/lib/scorm_cloud/registration_service.rb index f14661a..691a15b 100644 --- a/lib/scorm_cloud/registration_service.rb +++ b/lib/scorm_cloud/registration_service.rb @@ -34,7 +34,7 @@ def get_registration_result(reg_id, format="course") def get_registration_result_for_course(reg_id) xml = REXML::Document.new connection.call("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => "course" }) - xml.element["/rsp/registrationresult"].map { |e| RegistrationResult.from_xml(e) } + #xml.element["/rsp"].map { |e| RegistrationResult.from_xml(e) } end def launch(reg_id, redirect_url, options = {}) From 7ab154adcad334005ffc389d403e8caa0d16f7a1 Mon Sep 17 00:00:00 2001 From: Murat GUZEL Date: Thu, 21 Mar 2013 17:19:43 +0200 Subject: [PATCH 14/16] RegistrationResult class for course registration result --- lib/scorm_cloud/registration_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/scorm_cloud/registration_service.rb b/lib/scorm_cloud/registration_service.rb index 691a15b..aa8c319 100644 --- a/lib/scorm_cloud/registration_service.rb +++ b/lib/scorm_cloud/registration_service.rb @@ -33,7 +33,7 @@ def get_registration_result(reg_id, format="course") end def get_registration_result_for_course(reg_id) - xml = REXML::Document.new connection.call("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => "course" }) + xml = REXML::Document.new connection.call_raw("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => "course" }) #xml.element["/rsp"].map { |e| RegistrationResult.from_xml(e) } end From b5319a24ba137b4a6b586b2229f878f9406e2416 Mon Sep 17 00:00:00 2001 From: Murat GUZEL Date: Thu, 21 Mar 2013 17:38:31 +0200 Subject: [PATCH 15/16] RegistrationResult class for course registration result --- lib/scorm_cloud/registration_result.rb | 11 +++++++---- lib/scorm_cloud/registration_service.rb | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/scorm_cloud/registration_result.rb b/lib/scorm_cloud/registration_result.rb index 8a255eb..4f26075 100644 --- a/lib/scorm_cloud/registration_result.rb +++ b/lib/scorm_cloud/registration_result.rb @@ -7,10 +7,13 @@ class RegistrationResult < ScormCloud::BaseObject def self.from_xml(element) reg_result = RegistrationResult.new - reg_result.set_attributes(element.attributes) - element.elements.each do |element| - reg_result.set_attr(element.name, element.text) - end + reg_result.format = "course" + reg_result.regid = element.elements["rsp"].elements["registrationreport"].attributes["regid"] + reg_result.instanceid = element.elements["rsp"].elements["registrationreport"].attributes["instanceid"] + reg_result.complate = element.elements["rsp"].elements["registrationreport"][0].text + reg_result.success = element.elements["rsp"].elements["registrationreport"][1].text + reg_result.totaltime = element.elements["rsp"].elements["registrationreport"][2].text + reg_result.score = element.elements["rsp"].elements["registrationreport"][3].text reg_result end diff --git a/lib/scorm_cloud/registration_service.rb b/lib/scorm_cloud/registration_service.rb index aa8c319..b592852 100644 --- a/lib/scorm_cloud/registration_service.rb +++ b/lib/scorm_cloud/registration_service.rb @@ -34,7 +34,7 @@ def get_registration_result(reg_id, format="course") def get_registration_result_for_course(reg_id) xml = REXML::Document.new connection.call_raw("rustici.registration.getRegistrationResult", { :regid => reg_id, :format => "course" }) - #xml.element["/rsp"].map { |e| RegistrationResult.from_xml(e) } + RegistrationResult.from_xml(xml) end def launch(reg_id, redirect_url, options = {}) From 6d88326dfebf8a87913cde8f9f50a171b7232ece Mon Sep 17 00:00:00 2001 From: Murat GUZEL Date: Thu, 21 Mar 2013 17:44:11 +0200 Subject: [PATCH 16/16] RegistrationResult class for course registration result --- lib/scorm_cloud.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/scorm_cloud.rb b/lib/scorm_cloud.rb index fb07f8b..5a32e50 100644 --- a/lib/scorm_cloud.rb +++ b/lib/scorm_cloud.rb @@ -8,6 +8,7 @@ require 'scorm_cloud/base_object' require 'scorm_cloud/course' require 'scorm_cloud/registration' +require 'scorm_cloud/registration_result' require 'scorm_cloud/base_service' require 'scorm_cloud/debug_service'