Sha256: 935d2b690edd94c57fe05bfd5d8391dbc46b4bc0ba3c5bbd45b4bb6f53005feb

Contents?: true

Size: 1.49 KB

Versions: 5

Compression:

Stored size: 1.49 KB

Contents

require 'mediashelf/active_fedora_helper'
class GetController < ApplicationController
    include MediaShelf::ActiveFedoraHelper
    include Hydra::RepositoryController
    helper :downloads
    
    before_filter :require_fedora
    
    def show
      fedora_object = ActiveFedora::Base.load_instance(params[:id])
      
      respond_to do |format|
        format.html { send_datastream downloadables( fedora_object, :canonical=>true ) }
        format.pdf { send_datastream downloadables( fedora_object, :canonical=>true, :mime_type=>"application/pdf" ) }
        format.jp2 do 
          canonical_jp2 = downloadables( fedora_object, :canonical=>true, :mime_type=>"image/jp2" )
          jp2_content_url = "#{canonical_jp2.url}/content"
          if params["image_server"]
            if params["image_server"]["scale"] 
              send_data Djatoka.scale(jp2_content_url, params["image_server"]["scale"]), :type=>"image/jpeg"
            elsif   params["image_server"]["region"] 
              send_data Djatoka.region(jp2_content_url, params["image_server"]["region"]), :type=>"image/jpeg"
            else
              send_data Djatoka.get_image(jp2_content_url, params["image_server"]["region"]), :type=>"image/jpeg"
            end
          else
            send_datastream canonical_jp2
          end
        end
      end
      
    end
    
    private
    def send_datastream(datastream)
      send_data datastream.content, :filename=>datastream.label, :type=>datastream.attributes["mimeType"]
    end
    
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
hydra-head-3.0.1 app/controllers/get_controller.rb
hydra-head-3.0.0 app/controllers/get_controller.rb
hydra-head-3.0.0.rc2 app/controllers/get_controller.rb
hydra-head-3.0.0.rc1 app/controllers/get_controller.rb
hydra-head-3.0.0pre4 app/controllers/get_controller.rb