Sha256: 1f449f6b58603d1bebb208a2af6ce77e335de123726d28e65a1c7f4c3ebb4b8b
Contents?: true
Size: 1.67 KB
Versions: 1
Compression:
Stored size: 1.67 KB
Contents
require "cul_image_props" require "mime/types" require "uri" require "open-uri" require "tempfile" require "active_fedora_finders" class GenericResource < ::ActiveFedora::Base extend ActiveModel::Callbacks include ::ActiveFedora::Finders include ::ActiveFedora::DatastreamCollections include ::Hydra::ModelMethods include Cul::Scv::Hydra::Models::Common include ::ActiveFedora::RelsInt alias :file_objects :resources IMAGE_EXT = {"image/bmp" => 'bmp', "image/gif" => 'gif', "image/jpeg" => 'jpg', "image/png" => 'png', "image/tiff" => 'tif', "image/x-windows-bmp" => 'bmp'} WIDTH = RDF::URI(ActiveFedora::Predicates.find_graph_predicate(:image_width)) LENGTH = RDF::URI(ActiveFedora::Predicates.find_graph_predicate(:image_length)) has_datastream :name => "content", :type=>::ActiveFedora::Datastream, :versionable => true def assert_content_model super add_relationship(:rdf_type, Cul::Scv::Hydra::ActiveFedora::RESOURCE_TYPE.to_s) end def route_as "resource" end def index_type_label "FILE RESOURCE" end def to_solr(solr_doc = Hash.new, opts={}) super unless solr_doc["extent_ssi"] || self.datastreams["content"].nil? solr_doc["extent_ssi"] = [self.datastreams["content"].size] end solr_doc end def thumbnail_info thumb = relsint.relationships(datastreams['content'],:foaf_thumb).first if thumb t_dsid = thumb.object.to_s.split('/')[-1] return {:url=>"#{ActiveFedora.fedora_config[:url]}/objects/#{pid}/datastreams/#{t_dsid}/content",:mime=>datastreams[t_dsid].mimeType} else return {:url=>image_url("cul_scv_hydra/crystal/file.png"),:mime=>'image/png'} end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cul_scv_hydra-0.11.0 | app/models/generic_resource.rb |