Sha256: be22334e3bcfcd79ae230cabfb66ce91a96d44199ea6b1c21e5eaa7ae6b8c711

Contents?: true

Size: 600 Bytes

Versions: 5

Compression:

Stored size: 600 Bytes

Contents

require 'json'
require 'time'
require 'date'

module LogStasher
  class Event
    def initialize(data = {})
      @cancelled = false

      @data = data
      if data.include?('@timestamp')
        t = data['@timestamp']
        data['@timestamp'] = Time.parse(t).gmtime.iso8601(3) if t.is_a?(String)
      else
        data['@timestamp'] = ::Time.now.utc.iso8601(3)
      end
      data['@version'] = '1' unless @data.include?('@version')
    end

    def to_s
      to_json.to_s
    end

    def to_json(*args)
      @data.to_json(*args)
    end

    def [](key)
      @data[key]
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
logstasher-2.1.1 lib/logstasher/event.rb
logstasher-2.1.0 lib/logstasher/event.rb
logstasher-2.0.2 lib/logstasher/event.rb
logstasher-2.0.1 lib/logstasher/event.rb
logstasher-2.0.0 lib/logstasher/event.rb