Class: IIIFManifest::V3::ManifestBuilder::CanvasBuilder
- Inherits:
-
Object
- Object
- IIIFManifest::V3::ManifestBuilder::CanvasBuilder
- Defined in:
- lib/iiif_manifest/v3/manifest_builder/canvas_builder.rb
Instance Attribute Summary collapse
-
#choice_builder ⇒ Object
readonly
Returns the value of attribute choice_builder.
-
#content_builder ⇒ Object
readonly
Returns the value of attribute content_builder.
-
#iiif_annotation_page_factory ⇒ Object
readonly
Returns the value of attribute iiif_annotation_page_factory.
-
#iiif_canvas_factory ⇒ Object
readonly
Returns the value of attribute iiif_canvas_factory.
-
#parent ⇒ Object
readonly
Returns the value of attribute parent.
-
#record ⇒ Object
readonly
Returns the value of attribute record.
Instance Method Summary collapse
- #apply(items) ⇒ Object
- #canvas ⇒ Object
-
#initialize(record, parent, iiif_canvas_factory:, content_builder:, choice_builder:, iiif_annotation_page_factory:) ⇒ CanvasBuilder
constructor
A new instance of CanvasBuilder.
- #path ⇒ Object
Constructor Details
#initialize(record, parent, iiif_canvas_factory:, content_builder:, choice_builder:, iiif_annotation_page_factory:) ⇒ CanvasBuilder
Returns a new instance of CanvasBuilder.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/iiif_manifest/v3/manifest_builder/canvas_builder.rb', line 8 def initialize(record, parent, iiif_canvas_factory:, content_builder:, choice_builder:, iiif_annotation_page_factory:) @record = record @parent = parent @iiif_canvas_factory = iiif_canvas_factory @content_builder = content_builder @choice_builder = choice_builder @iiif_annotation_page_factory = iiif_annotation_page_factory apply_record_properties # Presentation 2.x approach attach_image if display_image # Presentation 3.0 approach attach_content if display_content end |
Instance Attribute Details
#choice_builder ⇒ Object (readonly)
Returns the value of attribute choice_builder.
5 6 7 |
# File 'lib/iiif_manifest/v3/manifest_builder/canvas_builder.rb', line 5 def choice_builder @choice_builder end |
#content_builder ⇒ Object (readonly)
Returns the value of attribute content_builder.
5 6 7 |
# File 'lib/iiif_manifest/v3/manifest_builder/canvas_builder.rb', line 5 def content_builder @content_builder end |
#iiif_annotation_page_factory ⇒ Object (readonly)
Returns the value of attribute iiif_annotation_page_factory.
5 6 7 |
# File 'lib/iiif_manifest/v3/manifest_builder/canvas_builder.rb', line 5 def iiif_annotation_page_factory @iiif_annotation_page_factory end |
#iiif_canvas_factory ⇒ Object (readonly)
Returns the value of attribute iiif_canvas_factory.
5 6 7 |
# File 'lib/iiif_manifest/v3/manifest_builder/canvas_builder.rb', line 5 def iiif_canvas_factory @iiif_canvas_factory end |
#parent ⇒ Object (readonly)
Returns the value of attribute parent.
5 6 7 |
# File 'lib/iiif_manifest/v3/manifest_builder/canvas_builder.rb', line 5 def parent @parent end |
#record ⇒ Object (readonly)
Returns the value of attribute record.
5 6 7 |
# File 'lib/iiif_manifest/v3/manifest_builder/canvas_builder.rb', line 5 def record @record end |
Instance Method Details
#apply(items) ⇒ Object
37 38 39 40 |
# File 'lib/iiif_manifest/v3/manifest_builder/canvas_builder.rb', line 37 def apply(items) return items if canvas.items.blank? items << canvas end |
#canvas ⇒ Object
27 28 29 |
# File 'lib/iiif_manifest/v3/manifest_builder/canvas_builder.rb', line 27 def canvas @canvas ||= iiif_canvas_factory.new end |
#path ⇒ Object
31 32 33 34 35 |
# File 'lib/iiif_manifest/v3/manifest_builder/canvas_builder.rb', line 31 def path path = "#{parent.manifest_url}/canvas/#{record.id}" path << "##{record.media_fragment}" if record.respond_to?(:media_fragment) && record.media_fragment.present? path end |