Sha256: 495c93e2caec98b91b9082c557d6d9f0265542b766ef2c6b103a9a2ae8f41cc0
Contents?: true
Size: 964 Bytes
Versions: 4
Compression:
Stored size: 964 Bytes
Contents
module IIIFManifest module V3 class ManifestBuilder class ImageServiceBuilder attr_reader :iiif_endpoint, :iiif_service_factory def initialize(iiif_endpoint, iiif_service_factory:) @iiif_endpoint = iiif_endpoint @iiif_service_factory = iiif_service_factory end def apply(resource) service['id'] = iiif_endpoint.url service['profile'] = iiif_endpoint.profile service['type'] = determine_type(iiif_endpoint.context) resource.service = [service] end private def determine_type(context) case context when 'http://iiif.io/api/image/1/context.json' 'ImageService1' when 'http://iiif.io/api/image/2/context.json' 'ImageService2' end end def service @service ||= iiif_service_factory.new end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems