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.



440
441
442
# File 'lib/logstash/inputs/s3.rb', line 440

def initialize(file)
  @sincedb_path = file
end

Instance Method Details

#newer?(date) ⇒ Boolean

Returns:

  • (Boolean)


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

def newer?(date)
  date > read
end

#readObject



448
449
450
451
452
453
454
455
456
# File 'lib/logstash/inputs/s3.rb', line 448

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



458
459
460
461
# File 'lib/logstash/inputs/s3.rb', line 458

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