Sha256: 66481a8416beadf710c4135e2fc8a16eeb038377090c94a106dfc22ef8a77592
Contents?: true
Size: 1.29 KB
Versions: 2
Compression:
Stored size: 1.29 KB
Contents
module ActiveFedora::File::Attributes attr_writer :mime_type def mime_type @mime_type ||= fetch_mime_type end def original_name @original_name ||= fetch_original_name end def original_name= name @original_name = name end def digest response = metadata.ldp_source.graph.query(predicate: RDF::Vocab::PREMIS.hasMessageDigest) # fallback on old predicate for checksum response = metadata.ldp_source.graph.query(predicate: RDF::Vocab::Fcrepo4.digest) if response.empty? response.map(&:object) end def persisted_size ldp_source.head.headers['Content-Length'].to_i unless new_record? end def dirty_size content.size if changed? && content.respond_to?(:size) end def size dirty_size || persisted_size end def has_content? size && size > 0 end def empty? !has_content? end private def links @links ||= Ldp::Response.links(ldp_source.head) end def default_mime_type 'text/plain' end def fetch_mime_type return default_mime_type if new_record? ldp_source.head.headers['Content-Type'] end def fetch_original_name return if new_record? m = ldp_source.head.headers['Content-Disposition'].match(/filename="(?<filename>[^"]*)";/) URI.decode(m[:filename]) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
active-fedora-9.4.1 | lib/active_fedora/file/attributes.rb |
active-fedora-9.4.0 | lib/active_fedora/file/attributes.rb |