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
52
53
54
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 52
def checksum_digest
checksum_uri.split(":")[1].upcase rescue nil
end
|
#checksum_value ⇒ Object
56
57
58
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 56
def checksum_value
checksum_uri.split(":").last rescue nil
end
|
#creation_time ⇒ Object
76
77
78
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 76
def creation_time
created.map { |datestr| coerce_to_time(datestr) }.compact
end
|
#file_human_size ⇒ Object
45
46
47
48
49
50
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 45
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
41
42
43
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 41
def file_size
extent.map(&:to_i)
end
|
#fits? ⇒ Boolean
26
27
28
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 26
def fits?
!fits_version.nil?
end
|
#fits_datetime ⇒ Object
34
35
36
37
38
39
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 34
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
30
31
32
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 30
def fits_version
fits.version.first
end
|
68
69
70
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 68
def ill_formed?
well_formed.any? { |v| v == "false" }
end
|
#index_fields ⇒ Object
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 84
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_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
60
61
62
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 60
def invalid?
valid.any? { |v| v == "false" }
end
|
#modification_time ⇒ Object
80
81
82
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 80
def modification_time
modified.map { |datestr| coerce_to_time(datestr) }.compact
end
|
#valid? ⇒ Boolean
64
65
66
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 64
def valid?
!invalid?
end
|
72
73
74
|
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 72
def well_formed?
!ill_formed?
end
|