Sha256: 3fa28ad57cd5a43fe21ffcd0038bceb32bd0d9006a302898236b437cdca88d38

Contents?: true

Size: 440 Bytes

Versions: 2

Compression:

Stored size: 440 Bytes

Contents

module Alblogs
  class Entry < Struct.new(:line, *::Alblogs::FIELDS.keys)
    REGEXP = Regexp.new(::Alblogs::FIELDS.values.join(' '))

    def timestamp
      @timestamp ||= Time.iso8601(self[:timestamp])
    end

    def target_processing_time
      self[:target_processing_time].to_f
    end

    def self.from_line(line)
      new(*get_fields(line))
    end

    def self.get_fields(line)
      REGEXP.match(line).to_a
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
alblogs-0.1.2 lib/alblogs/entry.rb
alblogs-0.1.0 lib/alblogs/entry.rb