class FindDupeImages::Serializer
Attributes
processed_image_data[R]
Public Class Methods
new(processed_image_data = nil)
click to toggle source
# File lib/find_dupe_images/serializer.rb, line 6 def initialize(processed_image_data = nil) @processed_image_data = processed_image_data @serialize_filename = 'serialized.marshal' @seperator = "---_---" end
Public Instance Methods
deserialize()
click to toggle source
# File lib/find_dupe_images/serializer.rb, line 19 def deserialize $/ = @seperator hexdigests = {} hits = {} return hits unless File.exist?(serialize_to_file) File.open(serialize_to_file, 'r').each do |object| o = Marshal::load(object.chomp) if hexdigests.has_key?(o.hexdigest) hits[o.hexdigest] = "#{o.file_name} is a duplicate of #{hexdigests[o.hexdigest].join(' and ')}" end if hexdigests[o.hexdigest].is_a?(Array) hexdigests[o.hexdigest] << o.file_name else hexdigests[o.hexdigest] = [o.file_name] end end hits end
remove_marshal_file()
click to toggle source
# File lib/find_dupe_images/serializer.rb, line 41 def remove_marshal_file File.unlink(serialize_to_file) if File.file?(serialize_to_file) end
serialize()
click to toggle source
# File lib/find_dupe_images/serializer.rb, line 12 def serialize File.open(serialize_to_file, 'a') do |file| file.print Marshal::dump(@processed_image_data) file.print @seperator end end
Private Instance Methods
serialize_to_file()
click to toggle source
# File lib/find_dupe_images/serializer.rb, line 47 def serialize_to_file Pathname.new([File.expand_path('../../', __FILE__), @serialize_filename].join('')) end