Sha256: 58841e99baf8f9ded1973c2d7f7c9a691c21457ab6036d5bd125ddcf2c59a6ea

Contents?: true

Size: 635 Bytes

Versions: 8

Compression:

Stored size: 635 Bytes

Contents

module IIIFManifest
  class ManifestBuilder
    class CanvasBuilderFactory
      attr_reader :composite_builder, :canvas_builder_factory
      def initialize(composite_builder:, canvas_builder_factory:)
        @composite_builder = composite_builder
        @canvas_builder_factory = canvas_builder_factory
      end

      def from(work)
        composite_builder.new(
          *file_set_presenters(work).map do |presenter|
            canvas_builder_factory.new(presenter, work)
          end
        )
      end

      private

        def file_set_presenters(work)
          work.file_set_presenters
        end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
iiif_manifest-1.0.1 lib/iiif_manifest/manifest_builder/canvas_builder_factory.rb
iiif_manifest-1.0.0 lib/iiif_manifest/manifest_builder/canvas_builder_factory.rb
iiif_manifest-0.6.0 lib/iiif_manifest/manifest_builder/canvas_builder_factory.rb
iiif_manifest-0.5.0 lib/iiif_manifest/manifest_builder/canvas_builder_factory.rb
iiif_manifest-0.2.0 lib/iiif_manifest/manifest_builder/canvas_builder_factory.rb
iiif_manifest-0.1.2 lib/iiif_manifest/manifest_builder/canvas_builder_factory.rb
iiif_manifest-0.1.1 lib/iiif_manifest/manifest_builder/canvas_builder_factory.rb
iiif_manifest-0.1.0 lib/iiif_manifest/manifest_builder/canvas_builder_factory.rb