Class: LogStash::Inputs::S3::SinceDB::File

Inherits:
Object
  • Object
show all
Defined in:
lib/logstash/inputs/s3.rb

Instance Method Summary collapse

Constructor Details

#initialize(file) ⇒ File

Returns a new instance of File.



443
444
445
# File 'lib/logstash/inputs/s3.rb', line 443

def initialize(file)
  @sincedb_path = file
end

Instance Method Details

#newer?(date) ⇒ Boolean

Returns:

  • (Boolean)


447
448
449
# File 'lib/logstash/inputs/s3.rb', line 447

def newer?(date)
  date > read
end

#readObject



451
452
453
454
455
456
457
458
459
# File 'lib/logstash/inputs/s3.rb', line 451

def read
  if ::File.exists?(@sincedb_path)
    content = ::File.read(@sincedb_path).chomp.strip
    # If the file was created but we didn't have the time to write to it
    return content.empty? ? Time.new(0) : Time.parse(content)
  else
    return Time.new(0)
  end
end

#write(since = nil) ⇒ Object



461
462
463
464
# File 'lib/logstash/inputs/s3.rb', line 461

def write(since = nil)
  since = Time.now() if since.nil?
  ::File.open(@sincedb_path, 'w') { |file| file.write(since.to_s) }
end