Class: Hydra::FileCharacterization::ToTempFile
- Inherits:
-
Object
- Object
- Hydra::FileCharacterization::ToTempFile
- Includes:
- Open3
- Defined in:
- lib/hydra/file_characterization/to_temp_file.rb
Instance Attribute Summary collapse
-
#filename ⇒ Object
readonly
Returns the value of attribute filename.
Class Method Summary collapse
Instance Method Summary collapse
- #call(data) ⇒ Object
-
#initialize(filename) ⇒ ToTempFile
constructor
A new instance of ToTempFile.
Constructor Details
#initialize(filename) ⇒ ToTempFile
Returns a new instance of ToTempFile.
15 16 17 |
# File 'lib/hydra/file_characterization/to_temp_file.rb', line 15 def initialize(filename) @filename = filename.is_a?(Array) ? filename.join("") : filename end |
Instance Attribute Details
#filename ⇒ Object (readonly)
Returns the value of attribute filename.
13 14 15 |
# File 'lib/hydra/file_characterization/to_temp_file.rb', line 13 def filename @filename end |
Class Method Details
.open(filename, data, &block) ⇒ Object
9 10 11 |
# File 'lib/hydra/file_characterization/to_temp_file.rb', line 9 def self.open(filename, data, &block) new(filename).call(data, &block) end |
Instance Method Details
#call(data) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/hydra/file_characterization/to_temp_file.rb', line 19 def call(data) f = Tempfile.new([File.basename(filename), File.extname(filename)]) begin f.binmode if data.respond_to? :read f.write(data.read) else f.write(data) end f.rewind yield(f) ensure data.rewind if data.respond_to? :rewind f.close f.unlink end end |