Module: SvgConform::Validation::TrackerFactory
- Defined in:
- lib/svg_conform/validation/tracker_factory.rb
Overview
Factory for creating tracker objects used in ValidationContext Centralizes tracker object creation for cleaner initialization
Class Method Summary collapse
-
.create_all_trackers(document) ⇒ Hash
Create all trackers for a ValidationContext.
-
.create_error_tracker ⇒ Object
Create a new ErrorTracker instance.
-
.create_node_id_manager(document) ⇒ Object
Create a new NodeIdManager instance.
-
.create_reference_manifest(source_document: nil) ⇒ Object
Create a new ReferenceManifest instance.
-
.create_structural_invalidity_tracker(node_id_generator:) ⇒ Object
Create a new StructuralInvalidityTracker instance.
Class Method Details
.create_all_trackers(document) ⇒ Hash
Create all trackers for a ValidationContext
39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/svg_conform/validation/tracker_factory.rb', line 39 def self.create_all_trackers(document) node_id_manager = create_node_id_manager(document) { error_tracker: create_error_tracker, node_id_manager: node_id_manager, structural_invalidity_tracker: create_structural_invalidity_tracker( node_id_generator: ->(node) { node_id_manager.generate_node_id(node) }, ), reference_manifest: create_reference_manifest(source_document: document&.file_path), } end |
.create_error_tracker ⇒ Object
Create a new ErrorTracker instance
14 15 16 |
# File 'lib/svg_conform/validation/tracker_factory.rb', line 14 def self.create_error_tracker ErrorTracker.new end |
.create_node_id_manager(document) ⇒ Object
Create a new NodeIdManager instance
20 21 22 |
# File 'lib/svg_conform/validation/tracker_factory.rb', line 20 def self.create_node_id_manager(document) NodeIdManager.new(document) end |
.create_reference_manifest(source_document: nil) ⇒ Object
Create a new ReferenceManifest instance
32 33 34 |
# File 'lib/svg_conform/validation/tracker_factory.rb', line 32 def self.create_reference_manifest(source_document: nil) References::ReferenceManifest.new(source_document: source_document) end |
.create_structural_invalidity_tracker(node_id_generator:) ⇒ Object
Create a new StructuralInvalidityTracker instance
26 27 28 |
# File 'lib/svg_conform/validation/tracker_factory.rb', line 26 def self.create_structural_invalidity_tracker(node_id_generator:) StructuralInvalidityTracker.new(node_id_generator: node_id_generator) end |