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
42 43 44 |
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 42 def checksum_digest content.checksumType end |
#checksum_value ⇒ Object
46 47 48 |
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 46 def checksum_value content.checksum end |
#creation_time ⇒ Object
66 67 68 |
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 66 def creation_time created.map { |datestr| coerce_to_time(datestr) }.compact end |
#file_human_size ⇒ Object
35 36 37 38 39 40 |
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 35 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
31 32 33 |
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 31 def file_size extent.map(&:to_i) end |
#fits? ⇒ Boolean
16 17 18 |
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 16 def fits? !fits_version.nil? end |
#fits_datetime ⇒ Object
24 25 26 27 28 29 |
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 24 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
20 21 22 |
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 20 def fits_version fits.version.first end |
#ill_formed? ⇒ Boolean
58 59 60 |
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 58 def ill_formed? well_formed.any? { |v| v == "false" } end |
#index_fields ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 74 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
50 51 52 |
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 50 def invalid? valid.any? { |v| v == "false" } end |
#modification_time ⇒ Object
70 71 72 |
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 70 def modification_time modified.map { |datestr| coerce_to_time(datestr) }.compact end |
#valid? ⇒ Boolean
54 55 56 |
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 54 def valid? !invalid? end |
#well_formed? ⇒ Boolean
62 63 64 |
# File 'lib/ddr/managers/technical_metadata_manager.rb', line 62 def well_formed? !ill_formed? end |