class Annotations2triannon::IIIFNavigator

Attributes

annotation_lists[RW]
collection[RW]
iiif_annotation_lists[RW]
iiif_collection[RW]
iiif_manifests[RW]
iiif_open_annotations[RW]
manifests[RW]
open_annotations[RW]
sc_annotation_lists[RW]
sc_manifests[RW]
sc_open_annotations[RW]

Public Class Methods

new(collection_uri) click to toggle source

@param collection_uri [URI|String] an HTTP URI for a collection

# File lib/annotations2triannon/iiif_navigator.rb, line 24
def initialize(collection_uri)
  @@config ||= Annotations2triannon.configuration
  @uri = RDF::URI.parse(collection_uri)
  @collection = nil
  @manifests = nil
  @annotation_lists = nil
  @open_annotations = nil
  @iiif_collection = nil
  @iiif_manifests = nil
  @iiif_annotation_lists = nil
  @iiif_open_annotations = nil
  @sc_manifests = nil
  @sc_annotation_lists = nil
  @sc_open_annotations = nil
end

Public Instance Methods

iiif_manifests?() click to toggle source

@return [boolean] are there any IIIF manifests in the collection?

# File lib/annotations2triannon/iiif_navigator.rb, line 79
def iiif_manifests?
  ! iiif_manifests.empty?
end
manifests?() click to toggle source

@return [boolean] are there any manifests in the collection?

# File lib/annotations2triannon/iiif_navigator.rb, line 66
def manifests?
  ! manifests.empty?
end
sc_manifests?() click to toggle source

@return [boolean] are there any Shared Canvas manifests in the collection?

# File lib/annotations2triannon/iiif_navigator.rb, line 92
def sc_manifests?
  ! sc_manifests.empty?
end

Private Instance Methods

collect_annotation_lists(manifests) click to toggle source

def oa2triannon

# TODO:   - post the open_annotation to triannon-app
# TODO:     - check the http status on the post
# TODO:     - log.debug on success; log.error on errors

end

# File lib/annotations2triannon/iiif_navigator.rb, line 151
def collect_annotation_lists(manifests)
  anno_lists = {}
  manifests.collect {|m| anno_lists[m.iri.to_s] = m.annotation_lists }
  anno_lists
end
collect_open_annotations(annotation_lists) click to toggle source
# File lib/annotations2triannon/iiif_navigator.rb, line 157
def collect_open_annotations(annotation_lists)
  oa = {}
  annotation_lists.each_pair do |manifest_uri, annotations_list|
    oa[manifest_uri] = {} if oa[manifest_uri].nil?
    annotations_list.each do |list|
      list_uri = list.iri.to_s
      oa[manifest_uri][list_uri] = list.open_annotations
    end
  end
  oa
end