Sha256: 203c7cab0e3351c1ee171b254a3107f71970c0be7b524534f584587b5ee9fb20

Contents?: true

Size: 832 Bytes

Versions: 4

Compression:

Stored size: 832 Bytes

Contents

module IIIFManifest
  class ManifestBuilder
    class RecordPropertyBuilder
      attr_reader :record, :path
      def initialize(record)
        @record = record
      end

      def apply(manifest)
        manifest['@id'] = record.manifest_url.to_s
        manifest.label = record.to_s
        manifest.description = record.description
        manifest.viewing_hint = viewing_hint
        manifest
        # manifest.try(:viewing_direction=, viewing_direction)
      end

      private

        def viewing_hint
          (record.respond_to?(:viewing_hint) && record.send(:viewing_hint)) || 'individuals'
        end

      # def viewing_direction
      #   record.try(:viewing_direction) || "left-to-right"
      # end
      #
      # def viewing_hint
      #   record.viewing_hint || "individuals"
      # end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
iiif_manifest-0.2.0 lib/iiif_manifest/manifest_builder/record_property_builder.rb
iiif_manifest-0.1.2 lib/iiif_manifest/manifest_builder/record_property_builder.rb
iiif_manifest-0.1.1 lib/iiif_manifest/manifest_builder/record_property_builder.rb
iiif_manifest-0.1.0 lib/iiif_manifest/manifest_builder/record_property_builder.rb