Sha256: b9ad203f70e8ceddd62ee5a6a00c3f4d5a47902976d4f72250093e458250c084

Contents?: true

Size: 1.15 KB

Versions: 1

Compression:

Stored size: 1.15 KB

Contents

require 'hydra-file_characterization'
module Hydra
  module Derivatives
    module ExtractMetadata

      def extract_metadata
        return unless has_content?
        Hydra::FileCharacterization.characterize(content, filename_for_characterization.join(""), :fits) do |config|
          config[:fits] = Hydra::Derivatives.fits_path
        end
      end

      # Restored method. It was required by other creatures
      def to_tempfile(&block)
        return unless has_content?
        Tempfile.open(filename_for_characterization) do |f|
          f.binmode
          if content.respond_to? :read
            f.write(content.read)
          else
            f.write(content)
          end
          content.rewind if content.respond_to? :rewind
          f.rewind
          yield(f)
        end
      end

      protected

      def filename_for_characterization
        mime_type = MIME::Types[mimeType].first
        Logger.warn "Unable to find a registered mime type for #{mimeType.inspect} on #{pid}" unless mime_type
        extension = mime_type ? ".#{mime_type.extensions.first}" : ''
        ["#{pid}-#{dsVersionID}", "#{extension}"]
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hydra-derivatives-0.1.1 lib/hydra/derivatives/extract_metadata.rb