Sha256: 3fa3d54aabab31d8e1ade7d77a0ecc4720ddb171c10e657f370c0c6fffc71e81

Contents?: true

Size: 795 Bytes

Versions: 12

Compression:

Stored size: 795 Bytes

Contents

module IIIF::Image
  # Represents a URI to a IIIF image endpoint
  class URI
    # @param base_uri [String]
    # @param identifier [String]
    # @param transformation [Transformation]
    def initialize(base_uri:, identifier:, transformation: nil)
      @base_uri = base_uri
      @identifier = identifier
      @transformation = transformation
    end

    attr_reader :base_uri, :transformation, :identifier

    def to_s
      return to_image_request_uri.to_s if transformation
      base_uri + identifier + '/info.json'
    end

    def valid?
      return true unless transformation
      to_image_request_uri.valid?
    end

    private

    def to_image_request_uri
      ImageRequestUri.new(base_uri: base_uri, identifier: identifier, transformation: transformation)
    end
  end
end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
iiif-image-api-0.3.0 lib/iiif/image/models/uri.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/iiif-image-api-0.2.0/lib/iiif/image/models/uri.rb
iiif-image-api-0.2.0 lib/iiif/image/models/uri.rb
iiif-image-api-0.1.0 lib/iiif/image/models/uri.rb
iiif-image-api-0.0.8 lib/iiif/image/models/uri.rb
iiif-image-api-0.0.7 lib/iiif/image/models/uri.rb
iiif-image-api-0.0.6 lib/iiif/image/models/uri.rb
iiif-image-api-0.0.5 lib/iiif/image/models/uri.rb
iiif-image-api-0.0.4 lib/iiif/image/models/uri.rb
iiif-image-api-0.0.3 lib/iiif/image/models/uri.rb
iiif-image-api-0.0.2 lib/iiif/image/models/uri.rb
iiif-image-api-0.0.1 lib/iiif/image/models/uri.rb