Class: Ddr::Managers::TechnicalMetadataManager
- Defined in:
- lib/ddr/managers/technical_metadata_manager.rb
Constant Summary collapse
- FITS_TIMESTAMP_FORMAT =
Ex. 7/3/15 8:29 PM
"%D %l:%M %p"
Instance Attribute Summary
Attributes inherited from Manager
Instance Method Summary collapse
- #checksum_digest ⇒ Object
- #checksum_value ⇒ Object
- #creation_time ⇒ Object
- #file_human_size ⇒ Object
- #file_size ⇒ Object
- #fits? ⇒ Boolean
- #fits_datetime ⇒ Object
- #fits_version ⇒ Object
- #ill_formed? ⇒ Boolean
- #index_fields ⇒ Object
- #invalid? ⇒ Boolean
- #modification_time ⇒ Object
- #valid? ⇒ Boolean
- #well_formed? ⇒ Boolean
Methods inherited from Manager
Constructor Details
This class inherits a constructor from Ddr::Managers::Manager
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..first no_zone = DateTime.strptime(, 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 |
#ill_formed? ⇒ Boolean
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 |
#well_formed? ⇒ Boolean
63 64 65 |
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 63 def well_formed? !ill_formed? end |