Skip to content

Commit

Permalink
Add viewing_hint support.
Browse files Browse the repository at this point in the history
  • Loading branch information
tpendragon committed Aug 2, 2017
1 parent 2f6872b commit 73da199
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 19 deletions.
2 changes: 1 addition & 1 deletion app/change_sets/scanned_resource_change_set.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ class ScannedResourceChangeSet < Valkyrie::ChangeSet
property :source_metadata_identifier, required: true, multiple: false
property :rights_statement, multiple: false, required: true
property :rights_note, multiple: false, required: false
property :viewing_hint, multiple: false, required: false
property :viewing_hint, multiple: false, required: false, default: "individuals"
property :pdf_type, multiple: false, required: false
property :holding_location, multiple: false, required: false
property :viewing_direction, multiple: false, required: false
Expand Down
42 changes: 24 additions & 18 deletions app/services/manifest_builder.rb
Original file line number Diff line number Diff line change
Expand Up @@ -32,35 +32,41 @@ def file_set_presenters
end
end

def ranges
logical_structure.map do |top_structure|
TopStructure.new(top_structure)
end
end

def manifest_url
helper.polymorphic_url([:manifest, resource])
end

def helper
@helper ||= ManifestHelper.new
def viewing_hint
Array(resource.viewing_hint).first
end

def members
@members ||= query_service.find_members(resource: resource).to_a
end
private

def leaf_nodes
@leaf_nodes ||= members.select { |x| x.instance_of?(FileSet) }
end
def helper
@helper ||= ManifestHelper.new
end

def metadata_adapter
Valkyrie.config.metadata_adapter
end
def members
@members ||= query_service.find_members(resource: resource).to_a
end

def ranges
logical_structure.map do |top_structure|
TopStructure.new(top_structure)
def leaf_nodes
@leaf_nodes ||= members.select { |x| x.instance_of?(FileSet) }
end
end

def logical_structure
resource.logical_structure || []
end
def metadata_adapter
Valkyrie.config.metadata_adapter
end

def logical_structure
resource.logical_structure || []
end
end

class TopStructure
Expand Down
1 change: 1 addition & 0 deletions spec/services/manifest_builder_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ def logical_structure(file_set_id)
it "generates a IIIF document" do
output = manifest_builder.build
expect(output).to be_kind_of Hash
expect(output["viewingHint"]).to eq "individuals"
expect(output["sequences"].length).to eq 1
canvas_id = output["sequences"][0]["canvases"][0]["@id"]
expect(output["structures"].length).to eq 3
Expand Down

0 comments on commit 73da199

Please sign in to comment.