Module: ActiveFedora::File::Attributes

Included in:
ActiveFedora::File
Defined in:
lib/active_fedora/file/attributes.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#mime_typeObject



5
6
7
# File 'lib/active_fedora/file/attributes.rb', line 5

def mime_type
  @mime_type ||= fetch_mime_type
end

Instance Method Details

#digestObject



17
18
19
20
21
22
# File 'lib/active_fedora/file/attributes.rb', line 17

def digest
  response = .ldp_source.graph.query(predicate: RDF::Vocab::PREMIS.hasMessageDigest)
  # fallback on old predicate for checksum
  response = .ldp_source.graph.query(predicate: fallback_digest_predicate) if response.empty?
  response.map(&:object)
end

#dirty_sizeObject



28
29
30
# File 'lib/active_fedora/file/attributes.rb', line 28

def dirty_size
  content.size if changed? && content.respond_to?(:size)
end

#empty?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/active_fedora/file/attributes.rb', line 40

def empty?
  !has_content?
end

#has_content?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/active_fedora/file/attributes.rb', line 36

def has_content?
  size && size > 0
end

#original_nameObject



9
10
11
# File 'lib/active_fedora/file/attributes.rb', line 9

def original_name
  @original_name ||= fetch_original_name
end

#original_name=(name) ⇒ Object



13
14
15
# File 'lib/active_fedora/file/attributes.rb', line 13

def original_name= name
  @original_name = name
end

#persisted_sizeObject



24
25
26
# File 'lib/active_fedora/file/attributes.rb', line 24

def persisted_size
  ldp_source.head.headers['Content-Length'].to_i unless new_record?
end

#sizeObject



32
33
34
# File 'lib/active_fedora/file/attributes.rb', line 32

def size
  dirty_size || persisted_size
end