lib/file_data/formats/exif/exif.rb in file_data-5.0.0 vs lib/file_data/formats/exif/exif.rb in file_data-5.2.0

- old
+ new

@@ -1,11 +1,14 @@ require_relative 'exif_reader' require_relative 'exif_jpeg' +require 'time' module FileData # Convenience class for extracting exif data from a file or stream class Exif + ['.jpeg', '.jpg'].each { |e| FileInfo.info_maps[e] = Exif } + # Create methods that forward to ExifReader # Each method requires the stream as a parameter to help the user # fall into a "pit of success" by only opening and closing # the stream once to get data ExifReader.public_instance_methods(false).each do |method_name| @@ -21,12 +24,21 @@ end end def self.streamify(input) if input.is_a?(String) - File.open(input, 'rb') { |f| yield f } + ::File.open(input, 'rb') { |f| yield f } else yield input end + end + + def self.creation_date(input) + raw_tag = FileData::Exif.only_image_tag(input, [34_665, 36_867]) + Time.strptime(raw_tag, '%Y:%m:%d %H:%M:%S') unless raw_tag.nil? + end + + def self.origin_date(input) + creation_date(input) end end end