Sha256: 31a8f7cb0be7bc068a03164e9fe394bea8e9538181e6f241f6c9df813095db2a

Contents?: true

Size: 665 Bytes

Versions: 4

Compression:

Stored size: 665 Bytes

Contents

module Riiif
  module FileSystemFileResolver
    mattr_accessor :root, :base_path, :input_types

    self.root = File.expand_path(File.join(File.dirname(__FILE__), '../..'))
    self.base_path = File.join(root, 'spec/samples')
    self.input_types = %W{png jpg tiff jp jp2}


    def self.find(id)
      Riiif::File.new(path(id))
    end

    def self.path(id)
      search = pattern(id)
      Dir.glob(search).first || raise(ImageNotFoundError, search)
    end


    def self.pattern(id)
      raise ArgumentError, "Invalid characters in id `#{id}`" unless /^[\w\-:]+$/.match(id)
      ::File.join(base_path, "#{id}.{#{input_types.join(',')}}")
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
riiif-0.0.10 lib/riiif/file_system_file_resolver.rb
riiif-0.0.9 lib/riiif/file_system_file_resolver.rb
riiif-0.0.8 lib/riiif/file_system_file_resolver.rb
riiif-0.0.7 lib/riiif/file_system_file_resolver.rb