Class: RMuh::RPT::Log::Parsers::UnitedOperationsRPT

Inherits:
Base
  • Object
show all
Extended by:
Util::UnitedOperations
Includes:
Util::UnitedOperations, Util::UnitedOperationsRPT
Defined in:
lib/rmuh/rpt/log/parsers/unitedoperationsrpt.rb

Overview

TODO: UnitedOperationsRPT Class Documentation

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Util::UnitedOperations

__check_match_arg, __guid_add_data, __guid_data_base, __line_modifiers, __modifiers, __parse_nearby_players, add_guid!, guid_keys, m_to_h, validate_bool_opt, validate_timezone, zulu!

Constructor Details

#initialize(opts = {}) ⇒ UnitedOperationsRPT

Returns a new instance of UnitedOperationsRPT.



27
28
29
30
31
32
# File 'lib/rmuh/rpt/log/parsers/unitedoperationsrpt.rb', line 27

def initialize(opts = {})
  self.class.validate_opts(opts)

  @to_zulu = opts[:to_zulu].nil? ? true : opts[:to_zulu]
  @timezone = opts[:timezone].nil? ? UO_TZ : opts[:timezone]
end

Class Method Details

.validate_opts(opts) ⇒ Object



20
21
22
23
24
25
# File 'lib/rmuh/rpt/log/parsers/unitedoperationsrpt.rb', line 20

def self.validate_opts(opts)
  fail ArgumentError,
       'argument 1 should be a Hash' unless opts.class == Hash
  validate_bool_opt(opts, :to_zulu)
  validate_timezone(opts)
end

Instance Method Details

#parse(loglines) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/rmuh/rpt/log/parsers/unitedoperationsrpt.rb', line 34

def parse(loglines)
  unless loglines.is_a?(StringIO)
    fail ArgumentError, 'argument 1 must be a StringIO object'
  end

  loglines.map do |l|
    line = regex_match(l)
    zulu!(line, @timezone) if @to_zulu && !line.nil?
    add_guid!(line) unless line.nil?
    line
  end.compact
end