scorm2004-manifest 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. data/README.rdoc +1 -0
  2. data/VERSION +1 -1
  3. data/lib/scorm2004/manifest.rb +0 -1
  4. data/lib/scorm2004/manifest/adlseq_map_info.rb +0 -1
  5. data/lib/scorm2004/manifest/adlseq_objective.rb +0 -1
  6. data/lib/scorm2004/manifest/adlseq_objectives.rb +0 -1
  7. data/lib/scorm2004/manifest/attributes.rb +2 -2
  8. data/lib/scorm2004/manifest/children.rb +2 -0
  9. data/lib/scorm2004/manifest/completion_threshold.rb +0 -1
  10. data/lib/scorm2004/manifest/condition_rule.rb +0 -1
  11. data/lib/scorm2004/manifest/constrained_choice_considerations.rb +0 -1
  12. data/lib/scorm2004/manifest/control_mode.rb +0 -1
  13. data/lib/scorm2004/manifest/data.rb +0 -1
  14. data/lib/scorm2004/manifest/data_from_lms.rb +0 -1
  15. data/lib/scorm2004/manifest/delivery_controls.rb +0 -1
  16. data/lib/scorm2004/manifest/dependency.rb +0 -1
  17. data/lib/scorm2004/manifest/file.rb +0 -1
  18. data/lib/scorm2004/manifest/hide_lmsui.rb +0 -1
  19. data/lib/scorm2004/manifest/item.rb +0 -1
  20. data/lib/scorm2004/manifest/limit_conditions.rb +0 -1
  21. data/lib/scorm2004/manifest/manifest.rb +0 -7
  22. data/lib/scorm2004/manifest/map.rb +0 -1
  23. data/lib/scorm2004/manifest/map_info.rb +0 -1
  24. data/lib/scorm2004/manifest/min_normalized_measure.rb +0 -1
  25. data/lib/scorm2004/manifest/objective.rb +0 -1
  26. data/lib/scorm2004/manifest/objectives.rb +0 -1
  27. data/lib/scorm2004/manifest/organization.rb +0 -1
  28. data/lib/scorm2004/manifest/organizations.rb +0 -1
  29. data/lib/scorm2004/manifest/primary_objective.rb +0 -1
  30. data/lib/scorm2004/manifest/randomization_controls.rb +0 -1
  31. data/lib/scorm2004/manifest/resource.rb +0 -1
  32. data/lib/scorm2004/manifest/resources.rb +0 -1
  33. data/lib/scorm2004/manifest/rollup_action.rb +0 -1
  34. data/lib/scorm2004/manifest/rollup_condition.rb +0 -1
  35. data/lib/scorm2004/manifest/rollup_conditions.rb +0 -1
  36. data/lib/scorm2004/manifest/rollup_considerations.rb +0 -1
  37. data/lib/scorm2004/manifest/rollup_rule.rb +0 -1
  38. data/lib/scorm2004/manifest/rollup_rules.rb +0 -1
  39. data/lib/scorm2004/manifest/rule_action.rb +0 -1
  40. data/lib/scorm2004/manifest/rule_condition.rb +0 -1
  41. data/lib/scorm2004/manifest/rule_conditions.rb +0 -1
  42. data/lib/scorm2004/manifest/schema.rb +0 -1
  43. data/lib/scorm2004/manifest/schemaversion.rb +0 -1
  44. data/lib/scorm2004/manifest/sequencing.rb +0 -1
  45. data/lib/scorm2004/manifest/sequencing_collection.rb +0 -1
  46. data/lib/scorm2004/manifest/sequencing_rules.rb +0 -1
  47. data/lib/scorm2004/manifest/time_limit_action.rb +0 -1
  48. data/lib/scorm2004/manifest/title.rb +0 -1
  49. data/lib/scorm2004/manifest/visitor_pattern.rb +12 -0
  50. data/test/scorm2004/manifest/any_uri_token_test.rb +0 -1
  51. data/test/scorm2004/manifest/attributes_test.rb +19 -20
  52. data/test/scorm2004/manifest/children_test.rb +0 -6
  53. data/test/scorm2004/manifest/duration_attribute_test.rb +0 -1
  54. data/test/scorm2004/manifest/href_test.rb +0 -1
  55. data/test/scorm2004/manifest/non_negative_integer_attribute_test.rb +0 -2
  56. data/test/scorm2004/manifest/string_attribute_test.rb +0 -3
  57. data/test/scorm2004/manifest/token_attribute_test.rb +0 -1
  58. data/test/scorm2004/manifest/xml_base_test.rb +0 -1
  59. metadata +17 -19
  60. data/lib/scorm2004/manifest/custom_error.rb +0 -15
  61. data/test/scorm2004/manifest/custom_error_test.rb +0 -43
data/README.rdoc CHANGED
@@ -1,6 +1,7 @@
1
1
  = scorm2004-manifest
2
2
 
3
3
  * https://github.com/tnoda/scorm2004-manifest
4
+ * https://rubygems.org/gems/scorm2004-manifest
4
5
 
5
6
  == Description
6
7
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -1,7 +1,6 @@
1
1
  require 'nokogiri'
2
2
  require 'active_support/core_ext'
3
3
  require 'scorm2004/manifest/visitor_pattern'
4
- require 'scorm2004/manifest/custom_error'
5
4
  require 'scorm2004/manifest/attributes'
6
5
  require 'scorm2004/manifest/children'
7
6
  require 'scorm2004/manifest/xml_base'
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class AdlseqMapInfo
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Attributes
7
6
 
8
7
  attribute :any_uri, 'targetObjectiveID'
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class AdlseqObjective
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
  include Attributes
8
7
 
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class AdlseqObjectives
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
 
8
7
  has_one_or_more 'adlseq:objective', visitor: :adlseq_objective
@@ -38,6 +38,8 @@ module Scorm2004
38
38
  attr_reader base
39
39
  end
40
40
 
41
+ private
42
+
41
43
  def boolean_attribute(name, options)
42
44
  base = basename(name)
43
45
  define_method("check_#{base}".intern) do
@@ -136,8 +138,6 @@ module Scorm2004
136
138
  end
137
139
  end
138
140
 
139
- private
140
-
141
141
  def basename(name)
142
142
  name.split(':').last.underscore.intern
143
143
  end
@@ -67,6 +67,8 @@ module Scorm2004
67
67
  has_many(xpath, options.merge( { :allow_nil => true} ))
68
68
  end
69
69
 
70
+ private
71
+
70
72
  def guess_child_name(xpath, options)
71
73
  xpath.split(%r{[/:]}).last.underscore
72
74
  end
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class CompletionThreshold
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Attributes
7
6
 
8
7
  attribute :boolean, 'completedByMeasure', default: false
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class ConditionRule
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
 
8
7
  has_one_and_only_one 'imsss:ruleConditions'
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class ConstrainedChoiceConsiderations
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Attributes
7
6
 
8
7
  attribute :boolean, 'preventActivation', default: false
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class ControlMode
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Attributes
7
6
 
8
7
  attribute :boolean, 'choice', default: true
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class Data
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
 
8
7
  has_one_or_more 'adlcp:map'
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class DataFromLms
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include TextNode
7
6
 
8
7
  def self.spm
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class DeliveryControls
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Attributes
7
6
 
8
7
  attribute :boolean, 'tracked', default: true
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class Dependency
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Attributes
7
6
 
8
7
  attribute :string, 'identifierref'
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class File
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include XmlBase
7
6
  include Href
8
7
 
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class HideLmsui
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include TextNode
7
6
 
8
7
  def self.vocabulary
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class Item
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
  include Attributes
8
7
 
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class LimitConditions
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Attributes
7
6
 
8
7
  attribute :non_negative_integer, 'attemptLimit', allow_nil: true
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class Manifest
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
  include Attributes
8
7
  include XmlBase
@@ -15,12 +14,6 @@ module Scorm2004
15
14
 
16
15
  attribute :id, 'identifier'
17
16
  attribute :string, 'version', spm: 20
18
-
19
- private
20
-
21
- def do_visit
22
-
23
- end
24
17
  end
25
18
  end
26
19
  end
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class Map
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Attributes
7
6
 
8
7
  attribute :any_uri, 'targetID'
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class MapInfo
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Attributes
7
6
 
8
7
  attribute :any_uri, 'targetObjectiveID'
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class MinNormalizedMeasure
4
4
  include VisitorPattern
5
- include CustomError
6
5
 
7
6
  def to_f
8
7
  Float(el.content)
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class Objective
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
  include Attributes
8
7
 
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class Objectives
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
 
8
7
  has_one_and_only_one 'imsss:primaryObjective'
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class Organization
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
  include Attributes
8
7
  include XmlBase
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class Organizations
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
  include Attributes
8
7
  include XmlBase
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class PrimaryObjective
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
  include Attributes
8
7
 
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class RandomizationControls
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Attributes
7
6
 
8
7
  TIMINGS = %w( never once onEachNewAttempt )
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class Resource
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
  include Attributes
8
7
  include XmlBase
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class Resources
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
  include XmlBase
8
7
 
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class RollupAction
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Attributes
7
6
 
8
7
  ACTIONS = %w( satisfied notSatisfied completed incomplete )
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class RollupCondition
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Attributes
7
6
 
8
7
  CONDITIONS = [
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class RollupConditions
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
  include Attributes
8
7
 
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class RollupConsiderations
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Attributes
7
6
 
8
7
  CONDITIONS = %w( always ifAttempted ifNotSkipped ifNotSuspended )
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class RollupRule
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
  include Attributes
8
7
 
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class RollupRules
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
  include Attributes
8
7
 
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class RuleAction
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Attributes
7
6
 
8
7
  PRE = %w( skip disabled hiddenFromChoice stopForwardTraversal )
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class RuleCondition
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Attributes
7
6
 
8
7
  CONDITIONS = [
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class RuleConditions
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
  include Attributes
8
7
 
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class Schema
4
4
  include VisitorPattern
5
- include CustomError
6
5
 
7
6
  private
8
7
 
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class Schemaversion
4
4
  include VisitorPattern
5
- include CustomError
6
5
 
7
6
  private
8
7
 
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class Sequencing
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
  include Attributes
8
7
 
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class SequencingCollection
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
 
8
7
  has_one_or_more 'imsss:sequencing'
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class SequencingRules
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include Children
7
6
 
8
7
  has_zero_or_more 'imsss:preConditionRule', visitor: :condition_rule
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class TimeLimitAction
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include TextNode
7
6
 
8
7
  def self.vocabulary
@@ -2,7 +2,6 @@ module Scorm2004
2
2
  module Manifest
3
3
  class Title
4
4
  include VisitorPattern
5
- include CustomError
6
5
  include TextNode
7
6
 
8
7
  private
@@ -3,6 +3,12 @@ module Scorm2004
3
3
  module VisitorPattern
4
4
  attr_reader :el
5
5
 
6
+ def self.included(base)
7
+ base.class_eval do
8
+ const_set('Error', Class.new(Scorm2004::Manifest::Error))
9
+ end
10
+ end
11
+
6
12
  def initialize(options = {})
7
13
  @options = options
8
14
  end
@@ -15,6 +21,12 @@ module Scorm2004
15
21
  self
16
22
  end
17
23
 
24
+ private
25
+
26
+ def error(message)
27
+ raise("#{self.class}::Error".constantize, [message, el.try(:to_s)].compact.join("\n"))
28
+ end
29
+
18
30
  def check_attributes
19
31
  self.class.attributes.each do |attr|
20
32
  send("check_#{attr}".intern)
@@ -7,7 +7,6 @@ module Scorm2004
7
7
 
8
8
  class Visitor
9
9
  include VisitorPattern
10
- include CustomError
11
10
  include Attributes
12
11
 
13
12
  attribute :any_uri, 'foo'
@@ -34,8 +34,9 @@ module Scorm2004
34
34
  end
35
35
 
36
36
  context 'visitor having binary attributes without default values' do
37
- class VisitorHavingBinaryAttributesWithoutDefaultValues < Visitor
38
- include CustomError
37
+ class VisitorHavingBinaryAttributesWithoutDefaultValues
38
+ include VisitorPattern
39
+ include Attributes
39
40
 
40
41
  attribute(:boolean, 'foo')
41
42
  attribute(:boolean, 'bar')
@@ -53,7 +54,10 @@ module Scorm2004
53
54
  end
54
55
 
55
56
  context 'visitor having a attribute with namespace prefix' do
56
- class VisitorHavingNamespacedAttribute < Visitor
57
+ class VisitorHavingNamespacedAttribute
58
+ include VisitorPattern
59
+ include Attributes
60
+
57
61
  attribute(:boolean, 'adlcp:foo')
58
62
  end
59
63
 
@@ -68,8 +72,9 @@ module Scorm2004
68
72
  end
69
73
 
70
74
  context 'visitor with an id attribute' do
71
- class VisitorWithIdAttribute < Visitor
72
- include CustomError
75
+ class VisitorWithIdAttribute
76
+ include VisitorPattern
77
+ include Attributes
73
78
 
74
79
  attribute(:id, 'foo')
75
80
  end
@@ -115,8 +120,9 @@ module Scorm2004
115
120
  end
116
121
 
117
122
  context 'visitor having a decimal attribute without a default value' do
118
- class VisitorHavingDecimalAttributeWithoutDefaultValue < Visitor
119
- include CustomError
123
+ class VisitorHavingDecimalAttributeWithoutDefaultValue
124
+ include VisitorPattern
125
+ include Attributes
120
126
 
121
127
  attribute(:decimal, 'foo')
122
128
  end
@@ -158,8 +164,9 @@ module Scorm2004
158
164
  end
159
165
 
160
166
  context 'visitor having a decimal attribute with a range' do
161
- class VisitorHavingDecimalAttributeWithRange < Visitor
162
- include CustomError
167
+ class VisitorHavingDecimalAttributeWithRange
168
+ include VisitorPattern
169
+ include Attributes
163
170
 
164
171
  attribute(:decimal, 'foo', range: -1.0..1.0)
165
172
  end
@@ -185,8 +192,9 @@ module Scorm2004
185
192
  end
186
193
 
187
194
  context 'visitor having an idref attribute' do
188
- class VisitorHavingIdrefAttribute < Visitor
189
- include CustomError
195
+ class VisitorHavingIdrefAttribute
196
+ include VisitorPattern
197
+ include Attributes
190
198
 
191
199
  attribute :idref, 'foo'
192
200
  end
@@ -213,12 +221,3 @@ module Scorm2004
213
221
  end
214
222
  end
215
223
  end
216
-
217
- # LocalWords: AttributesTest PartialManifest VisitorPattern defaultsTrue el
218
- # LocalWords: VisitorHavingBinaryAttributesWithDefaultValues defaultsFalse
219
- # LocalWords: VisitorHavingBinaryAttributesWithoutDefaultValues CustomError
220
- # LocalWords: VisitorHavingNamespacedAttribute adlcp unnamespaced spm baz
221
- # LocalWords: VisitorWithStringAttribute VisitorWithIdAttribute whitespaces
222
- # LocalWords: VisitorHavingDecimalAttributeWithDefaultValue
223
- # LocalWords: VisitorHavingDecimalAttributeWithoutDefaultValue
224
- # LocalWords: VisitorHavingDecimalAttributeWithRange
@@ -16,7 +16,6 @@ module Scorm2004
16
16
  context 'visitor that has one and only one child' do
17
17
  class VisitorHasOneAndOnlyOneChild
18
18
  include VisitorPattern
19
- include CustomError
20
19
  include Children
21
20
 
22
21
  has_one_and_only_one('imscp:son')
@@ -69,7 +68,6 @@ XML
69
68
  context 'visitor that has zero or one child' do
70
69
  class VisitorHasZeroOrOneChild
71
70
  include VisitorPattern
72
- include CustomError
73
71
  include Children
74
72
 
75
73
  has_zero_or_one('imscp:son')
@@ -122,7 +120,6 @@ XML
122
120
  context 'visitor that has one or more children' do
123
121
  class VisitorHasOneOrMoreChildren
124
122
  include VisitorPattern
125
- include CustomError
126
123
  include Children
127
124
 
128
125
  has_one_or_more('imscp:son')
@@ -195,7 +192,6 @@ XML
195
192
  context 'visitor that has zero or more children' do
196
193
  class VisitorHasZeroOrMoreChildren
197
194
  include VisitorPattern
198
- include CustomError
199
195
  include Children
200
196
 
201
197
  has_zero_or_more('imscp:son')
@@ -268,7 +264,6 @@ XML
268
264
  context 'visitor has one grandson' do
269
265
  class VisitorHasOneGrandson
270
266
  include VisitorPattern
271
- include CustomError
272
267
  include Children
273
268
 
274
269
  has_one_and_only_one './imscp:son/imscp:grandson'
@@ -310,7 +305,6 @@ XML
310
305
  context 'a visitor with the visitor option' do
311
306
  class NamespacedVisitor
312
307
  include VisitorPattern
313
- include CustomError
314
308
  include Children
315
309
 
316
310
  has_one_and_only_one 'imscp:foo', visitor: :foo_bar
@@ -8,7 +8,6 @@ module Scorm2004
8
8
  context 'an visitor with a duration attribute' do
9
9
  class Visitor
10
10
  include VisitorPattern
11
- include CustomError
12
11
  include Attributes
13
12
 
14
13
  attribute :duration, 'foo'
@@ -7,7 +7,6 @@ module Scorm2004
7
7
 
8
8
  class Visitor
9
9
  include VisitorPattern
10
- include CustomError
11
10
  include XmlBase
12
11
  include Href
13
12
  end
@@ -8,7 +8,6 @@ module Scorm2004
8
8
  context 'a visitor with xs:nonNegativeInteger attribute' do
9
9
  class Visitor
10
10
  include VisitorPattern
11
- include CustomError
12
11
  include Attributes
13
12
 
14
13
  attribute :non_negative_integer, 'foo'
@@ -47,7 +46,6 @@ module Scorm2004
47
46
  context 'a visitor with xs:nonNegativeInteger attribute optional' do
48
47
  class VisitorWithOptionalAttribute
49
48
  include VisitorPattern
50
- include CustomError
51
49
  include Attributes
52
50
 
53
51
  attribute :non_negative_integer, 'bar', allow_nil: true
@@ -8,7 +8,6 @@ module Scorm2004
8
8
  context 'a visitor for an element with a string attribute' do
9
9
  class SimpleVisitor
10
10
  include VisitorPattern
11
- include CustomError
12
11
  include Attributes
13
12
 
14
13
  attribute :string, 'foo'
@@ -33,7 +32,6 @@ module Scorm2004
33
32
  context 'a visitor having SPM' do
34
33
  class SpmVisitor
35
34
  include VisitorPattern
36
- include CustomError
37
35
  include Attributes
38
36
 
39
37
  attribute :string, 'foo', spm: 10
@@ -50,7 +48,6 @@ module Scorm2004
50
48
  context 'a visitor for an element with a string attribute optional' do
51
49
  class OptionalVisitor
52
50
  include VisitorPattern
53
- include CustomError
54
51
  include Attributes
55
52
 
56
53
  attribute :string, 'foo', allow_nil: true
@@ -8,7 +8,6 @@ module Scorm2004
8
8
  context 'visitor having a token attribute' do
9
9
  class VisitorHavingTokenAttribute
10
10
  include VisitorPattern
11
- include CustomError
12
11
  include Attributes
13
12
 
14
13
  attribute :token, 'foo', vocabulary: ['foo', 'bar', 'foo bar']
@@ -7,7 +7,6 @@ module Scorm2004
7
7
 
8
8
  class Visitor
9
9
  include VisitorPattern
10
- include CustomError
11
10
  include XmlBase
12
11
  end
13
12
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scorm2004-manifest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-15 00:00:00.000000000 Z
12
+ date: 2012-03-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
- requirement: &2153645740 !ruby/object:Gem::Requirement
16
+ requirement: &2167037660 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2153645740
24
+ version_requirements: *2167037660
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &2153645260 !ruby/object:Gem::Requirement
27
+ requirement: &2167037180 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2153645260
35
+ version_requirements: *2167037180
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: shoulda-context
38
- requirement: &2153644780 !ruby/object:Gem::Requirement
38
+ requirement: &2167036700 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '1.0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2153644780
46
+ version_requirements: *2167036700
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: mocha
49
- requirement: &2153644300 !ruby/object:Gem::Requirement
49
+ requirement: &2167036000 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 0.10.4
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2153644300
57
+ version_requirements: *2167036000
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: yard
60
- requirement: &2153643800 !ruby/object:Gem::Requirement
60
+ requirement: &2167035520 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0.7'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *2153643800
68
+ version_requirements: *2167035520
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
- requirement: &2153643260 !ruby/object:Gem::Requirement
71
+ requirement: &2172780940 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 1.1.0
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *2153643260
79
+ version_requirements: *2172780940
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: jeweler
82
- requirement: &2153642640 !ruby/object:Gem::Requirement
82
+ requirement: &2172780460 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: 1.8.3
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *2153642640
90
+ version_requirements: *2172780460
91
91
  description: ! 'scorm2004-manifest is a Ruby gem that provides a manifest file parser
92
92
  for SCORM 2004 4th edition. It parses and validates the manifest file according
93
93
  to SCORM 2004 4th Edition Content Aggregation Model (CAM) Version 1.1. After parsing
@@ -119,7 +119,6 @@ files:
119
119
  - lib/scorm2004/manifest/condition_rule.rb
120
120
  - lib/scorm2004/manifest/constrained_choice_considerations.rb
121
121
  - lib/scorm2004/manifest/control_mode.rb
122
- - lib/scorm2004/manifest/custom_error.rb
123
122
  - lib/scorm2004/manifest/data.rb
124
123
  - lib/scorm2004/manifest/data_from_lms.rb
125
124
  - lib/scorm2004/manifest/delivery_controls.rb
@@ -177,7 +176,6 @@ files:
177
176
  - test/scorm2004/manifest/condition_rule_test.rb
178
177
  - test/scorm2004/manifest/constrained_choice_considerations_test.rb
179
178
  - test/scorm2004/manifest/control_mode_test.rb
180
- - test/scorm2004/manifest/custom_error_test.rb
181
179
  - test/scorm2004/manifest/data_from_lms_test.rb
182
180
  - test/scorm2004/manifest/data_test.rb
183
181
  - test/scorm2004/manifest/delivery_controls_test.rb
@@ -244,7 +242,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
244
242
  version: '0'
245
243
  segments:
246
244
  - 0
247
- hash: 688621200751165052
245
+ hash: 2605268649661691727
248
246
  required_rubygems_version: !ruby/object:Gem::Requirement
249
247
  none: false
250
248
  requirements:
@@ -1,15 +0,0 @@
1
- module Scorm2004
2
- module Manifest
3
- module CustomError
4
- def self.included(base)
5
- base.class_eval do
6
- const_set('Error', Class.new(Scorm2004::Manifest::Error))
7
- end
8
- end
9
-
10
- def error(message)
11
- raise("#{self.class}::Error".constantize, [message, el.try(:to_s)].compact.join("\n"))
12
- end
13
- end
14
- end
15
- end
@@ -1,43 +0,0 @@
1
- require_relative '../../helper'
2
-
3
- module Scorm2004
4
- module Manifest
5
- class CustomErrorTest < ActiveSupport::TestCase
6
- context 'Visitor including the CustomError module' do
7
- class Visitor
8
- include VisitorPattern
9
- include CustomError
10
- end
11
-
12
- setup do
13
- @v = Visitor.new
14
- end
15
-
16
- should 'have its own error class' do
17
- assert_kind_of Scorm2004::Manifest::Error, "#{@v.class}::Error".constantize.new
18
- end
19
-
20
- should 'have its own error method' do
21
- assert @v.respond_to? :error
22
- end
23
-
24
- context 'error method' do
25
- should 'raise its own exceptoin' do
26
- assert_raise "#{@v.class}::Error".constantize do
27
- @v.error('dummy message')
28
- end
29
- end
30
-
31
- should 'set message' do
32
- begin
33
- message = 'something wrong'
34
- @v.error(message)
35
- rescue "#{@v.class}::Error".constantize => e
36
- assert_equal message, e.message
37
- end
38
- end
39
- end
40
- end
41
- end
42
- end
43
- end