Class: Ddr::Managers::TechnicalMetadataManager
- Inherits:
-
Manager
- Object
- Manager
- Ddr::Managers::TechnicalMetadataManager
show all
- Defined in:
- lib/ddr/managers/technical_metadata_manager.rb
Constant Summary
collapse
- FITS_TIMESTAMP_FORMAT =
"%D %l:%M %p"
Instance Attribute Summary
Attributes inherited from Manager
#object
Instance Method Summary
collapse
Methods inherited from Manager
#initialize
Instance Method Details
#checksum_digest ⇒ Object
43
44
45
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 43
def checksum_digest
content.checksumType
end
|
#checksum_value ⇒ Object
47
48
49
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 47
def checksum_value
content.checksum
end
|
#creation_time ⇒ Object
67
68
69
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 67
def creation_time
created.map { |datestr| coerce_to_time(datestr) }.compact
end
|
#file_human_size ⇒ Object
36
37
38
39
40
41
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 36
def file_human_size
file_size.map do |fs|
"%s (%s bytes)" % [ ActiveSupport::NumberHelper.number_to_human_size(fs),
ActiveSupport::NumberHelper.number_to_delimited(fs) ]
end
end
|
#file_size ⇒ Object
32
33
34
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 32
def file_size
extent.map(&:to_i)
end
|
#fits? ⇒ Boolean
17
18
19
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 17
def fits?
!fits_version.nil?
end
|
#fits_datetime ⇒ Object
25
26
27
28
29
30
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 25
def fits_datetime
if fits_timestamp = fits.timestamp.first
no_zone = DateTime.strptime(fits_timestamp, FITS_TIMESTAMP_FORMAT)
no_zone.change(offset: no_zone.to_time.zone)
end
end
|
#fits_version ⇒ Object
21
22
23
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 21
def fits_version
fits.version.first
end
|
59
60
61
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 59
def ill_formed?
well_formed.any? { |v| v == "false" }
end
|
#index_fields ⇒ Object
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 75
def index_fields
{ Ddr::Index::Fields::TECHMD_FITS_VERSION => fits_version,
Ddr::Index::Fields::TECHMD_FITS_DATETIME => Ddr::Utils.solr_date(fits_datetime),
Ddr::Index::Fields::TECHMD_CREATION_TIME => Ddr::Utils.solr_dates(creation_time),
Ddr::Index::Fields::TECHMD_MODIFICATION_TIME => Ddr::Utils.solr_dates(modification_time),
Ddr::Index::Fields::TECHMD_COLOR_SPACE => color_space,
Ddr::Index::Fields::TECHMD_CREATING_APPLICATION => creating_application,
Ddr::Index::Fields::TECHMD_FILE_SIZE => file_size,
Ddr::Index::Fields::TECHMD_FORMAT_LABEL => format_label,
Ddr::Index::Fields::TECHMD_FORMAT_VERSION => format_version,
Ddr::Index::Fields::TECHMD_ICC_PROFILE_NAME => icc_profile_name,
Ddr::Index::Fields::TECHMD_ICC_PROFILE_VERSION => icc_profile_version,
Ddr::Index::Fields::TECHMD_IMAGE_HEIGHT => image_height,
Ddr::Index::Fields::TECHMD_IMAGE_WIDTH => image_width,
Ddr::Index::Fields::TECHMD_MEDIA_TYPE => media_type,
Ddr::Index::Fields::TECHMD_PRONOM_IDENTIFIER => pronom_identifier,
Ddr::Index::Fields::TECHMD_VALID => valid,
Ddr::Index::Fields::TECHMD_WELL_FORMED => well_formed,
}
end
|
#invalid? ⇒ Boolean
51
52
53
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 51
def invalid?
valid.any? { |v| v == "false" }
end
|
#modification_time ⇒ Object
71
72
73
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 71
def modification_time
modified.map { |datestr| coerce_to_time(datestr) }.compact
end
|
#valid? ⇒ Boolean
55
56
57
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 55
def valid?
!invalid?
end
|
63
64
65
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 63
def well_formed?
!ill_formed?
end
|