Method: ContentData::ContentData#add_instance

Defined in:
lib/content_data/content_data.rb

#add_instance(checksum, size, server, path, modification_time, index_time = Time.now.to_i) ⇒ Object



187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
# File 'lib/content_data/content_data.rb', line 187

def add_instance(checksum, size, server, path, modification_time, index_time=Time.now.to_i)
  location = [server, path]

  # file was changed but remove_instance was not called
  if (@instances_info.include?(location) && @instances_info[location] != checksum)
    Log.warning("#{server}:#{path} file already exists with different checksum")
    remove_instance(server, path)
  end

   = @contents_info[checksum]
  if .nil?
    @contents_info[checksum] = [size,
                                {location => [modification_time,index_time]},
                                modification_time]
  else
    if size != [0]
      Log.warning('File size different from content size while same checksum')
      Log.warning("instance location:server:'#{location[0]}'  path:'#{location[1]}'")
      Log.warning("instance mod time:'#{modification_time}'")
    end
    #override file if needed
    [0] = size
    instances = [1]
    instances[location] = [modification_time, index_time]
  end
  @instances_info[location] = checksum
end