rmuh 0.2.6 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/Rakefile +17 -1
- data/examples/basic_parsing.rb +2 -2
- data/lib/rmuh/rpt/log/fetch.rb +3 -3
- data/lib/rmuh/rpt/log/formatters/unitedoperationslog.rb +14 -17
- data/lib/rmuh/rpt/log/formatters/unitedoperationsrpt.rb +4 -9
- data/lib/rmuh/rpt/log/parsers/base.rb +2 -2
- data/lib/rmuh/rpt/log/parsers/unitedoperationslog.rb +10 -14
- data/lib/rmuh/rpt/log/parsers/unitedoperationsrpt.rb +7 -7
- data/lib/rmuh/version.rb +2 -2
- data/rmuh.gemspec +9 -9
- data/spec/unit/rmuh/rpt/log/fetch_spec.rb +3 -4
- data/spec/unit/rmuh/rpt/log/formatters/unitedoperationslog_spec.rb +62 -0
- data/spec/unit/rmuh/rpt/log/parsers/base_spec.rb +5 -10
- data/spec/unit/rmuh/rpt/log/parsers/unitedoperationslog_spec.rb +11 -16
- data/spec/unit/rmuh/rpt/log/parsers/unitedoperationsrpt_spec.rb +3 -4
- metadata +10 -58
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1402565d209f6d72ba95d6a17e3c7ff90d430af7
|
4
|
+
data.tar.gz: 489ef149e3f6493d091ff186363a2ad87c629853
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e9605c2296450f13b81f47a5a15875ad7be86a201583ce85662e2ccbb5d1164448009c24925d3925506324ce1cfc45fb8e9206b979f389a46d8e2aade188da0
|
7
|
+
data.tar.gz: 5c7399bccdb65f7e8e1e6f7aa9ae58b3e5d6385d5d79d8ea6d244bf32e9a6ec4d52dc89df2473cd2b701531ced7fcfa7d494c6e112a5b84046e848234a7b7da9
|
data/README.md
CHANGED
@@ -82,7 +82,7 @@ URL = 'http://arma2.unitedoperations.net/dump/SRV1/SRV1_RPT.txt'
|
|
82
82
|
f = RMuh::RPT::Log::Fetch.new(URL)
|
83
83
|
puts f.log
|
84
84
|
```
|
85
|
-
In this case `f.log` returns
|
85
|
+
In this case `f.log` returns an `Array` object which will be used by the
|
86
86
|
parsers to parse the log files.
|
87
87
|
|
88
88
|
If you want to specify a
|
data/Rakefile
CHANGED
@@ -4,10 +4,26 @@ require 'rubocop/rake_task'
|
|
4
4
|
|
5
5
|
RSpec::Core::RakeTask.new(:spec)
|
6
6
|
|
7
|
-
|
7
|
+
RuboCop::RakeTask.new(:rubocop) do |t|
|
8
8
|
# t.patterns = %w( Rakefile Gemfile rmuh.gemspec lib/**/*.rb spec/*_spec.rb )
|
9
9
|
t.patterns = %w( rmuh.gemspec lib/**/*.rb spec/*_spec.rb )
|
10
10
|
t.fail_on_error = true
|
11
11
|
end
|
12
12
|
|
13
|
+
RSpec::Core::RakeTask.new(:unit) do |t|
|
14
|
+
t.pattern = ['spec/spec_helper.rb', 'spec/unit/**/*_spec.rb']
|
15
|
+
end
|
16
|
+
|
17
|
+
RSpec::Core::RakeTask.new(:example) do |t|
|
18
|
+
t.pattern = ['spec/spec_helper.rb', 'spec/functional/**/*_spec.rb']
|
19
|
+
end
|
20
|
+
|
21
|
+
task :unit do
|
22
|
+
Rake::Task['unit'].invoke
|
23
|
+
end
|
24
|
+
|
25
|
+
task :example do
|
26
|
+
Rake::Task['unit'].invoke
|
27
|
+
end
|
28
|
+
|
13
29
|
task default: [:rubocop, :spec]
|
data/examples/basic_parsing.rb
CHANGED
@@ -19,11 +19,11 @@ URL = 'http://arma2.unitedoperations.net/dump/SRV1/SRV1_LOG.txt'
|
|
19
19
|
# 1024 bytes
|
20
20
|
f = RMuh::RPT::Log::Fetch.new(URL, byte_start: 0, byte_end: 1024)
|
21
21
|
|
22
|
-
# logfile will become
|
22
|
+
# logfile will become an Array object that is the contents of the log
|
23
23
|
logfile = f.log
|
24
24
|
|
25
25
|
# print the log
|
26
|
-
puts "#### The full log\n#{logfile.
|
26
|
+
puts "#### The full log\n#{logfile.join("\n")}\n#### End of log!"
|
27
27
|
|
28
28
|
# print the size of the log, f.size will return a Fixnum in bytes
|
29
29
|
puts "Log size: #{f.size} byte(s)"
|
data/lib/rmuh/rpt/log/fetch.rb
CHANGED
@@ -32,8 +32,8 @@ module RMuh
|
|
32
32
|
#
|
33
33
|
def initialize(log_url, opts = {})
|
34
34
|
@log_url = log_url
|
35
|
-
@byte_start = opts.
|
36
|
-
@byte_end = opts.
|
35
|
+
@byte_start = opts.fetch(:byte_start, 0)
|
36
|
+
@byte_end = opts.fetch(:byte_end, nil)
|
37
37
|
end
|
38
38
|
|
39
39
|
def byte_start=(bytes)
|
@@ -53,7 +53,7 @@ module RMuh
|
|
53
53
|
def log
|
54
54
|
headers = { 'Range' => "bytes=#{@byte_start}-#{@byte_end}" }
|
55
55
|
response = self.class.get(@log_url, headers: headers)
|
56
|
-
|
56
|
+
response.lines.map { |l| dos2unix(l).gsub("\n", '') }
|
57
57
|
end
|
58
58
|
|
59
59
|
private
|
@@ -9,39 +9,36 @@ module RMuh
|
|
9
9
|
class UnitedOperationsLog < RMuh::RPT::Log::Formatters::Base
|
10
10
|
class << self
|
11
11
|
def format(event)
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
when :disconnect
|
16
|
-
format_disconnect(event)
|
17
|
-
when :beguid
|
18
|
-
format_beguid(event)
|
19
|
-
when :chat
|
20
|
-
format_chat(event)
|
21
|
-
else
|
22
|
-
nil
|
23
|
-
end
|
12
|
+
return unless [:connect, :disconnect, :beguid, :chat]
|
13
|
+
.include?(event[:type])
|
14
|
+
send("format_#{event[:type]}".to_sym, event)
|
24
15
|
end
|
25
16
|
|
26
17
|
private
|
27
18
|
|
19
|
+
def ltime(e, type)
|
20
|
+
l = "#{e[:iso8601]} "
|
21
|
+
l += 'Server: ' if type == :m
|
22
|
+
l += 'Chat: ' if type == :c
|
23
|
+
l
|
24
|
+
end
|
25
|
+
|
28
26
|
def format_connect(e)
|
29
|
-
"#{e
|
27
|
+
"#{ltime(e, :m)}Player ##{e[:player_num]} " \
|
30
28
|
"#{e[:player]} (#{e[:ipaddr]}) connected\n"
|
31
29
|
end
|
32
30
|
|
33
31
|
def format_disconnect(e)
|
34
|
-
"#{e
|
32
|
+
"#{ltime(e, :m)}Player #{e[:player]} disconnected\n"
|
35
33
|
end
|
36
34
|
|
37
35
|
def format_beguid(e)
|
38
|
-
"#{e
|
36
|
+
"#{ltime(e, :m)}Verified GUID (#{e[:player_beguid]}) " \
|
39
37
|
"of player ##{e[:player_num]} #{e[:player]}\n"
|
40
38
|
end
|
41
39
|
|
42
40
|
def format_chat(e)
|
43
|
-
"#{e
|
44
|
-
"#{e[:message]}\n"
|
41
|
+
"#{ltime(e, :c)}(#{e[:channel]}) #{e[:player]}: #{e[:message]}\n"
|
45
42
|
end
|
46
43
|
end
|
47
44
|
end
|
@@ -15,15 +15,10 @@ module RMuh
|
|
15
15
|
class << self
|
16
16
|
def format(event, level = :full)
|
17
17
|
validate_and_set_level(level)
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
format_killed(event)
|
23
|
-
when :died
|
24
|
-
format_died(event)
|
25
|
-
when :announcement
|
26
|
-
format_announcement(event)
|
18
|
+
type = event[:type]
|
19
|
+
if [:wounded, :killed, :died, :announcement].include?(type)
|
20
|
+
func = "format_#{type}".to_sym
|
21
|
+
send(func, event)
|
27
22
|
else
|
28
23
|
nil
|
29
24
|
end
|
@@ -15,8 +15,8 @@ module RMuh
|
|
15
15
|
|
16
16
|
def parse(loglines)
|
17
17
|
fail(
|
18
|
-
ArgumentError, 'argument 1 must be
|
19
|
-
) unless loglines.is_a?(
|
18
|
+
ArgumentError, 'argument 1 must be an Array object'
|
19
|
+
) unless loglines.is_a?(Array)
|
20
20
|
|
21
21
|
loglines.map { |line| { type: :log, message: line } }
|
22
22
|
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
# -*- coding: UTF-8 -*-
|
2
2
|
require 'English'
|
3
3
|
require 'tzinfo'
|
4
|
-
require 'stringio'
|
5
4
|
require 'rmuh/rpt/log/parsers/base'
|
6
5
|
require 'rmuh/rpt/log/util/unitedoperations'
|
7
6
|
require 'rmuh/rpt/log/util/unitedoperationslog'
|
@@ -46,14 +45,14 @@ module RMuh
|
|
46
45
|
# ++
|
47
46
|
def initialize(opts = {})
|
48
47
|
self.class.validate_opts(opts)
|
49
|
-
@include_chat = opts
|
50
|
-
@to_zulu = opts
|
51
|
-
@timezone = opts
|
48
|
+
@include_chat = opts.fetch(:chat, false)
|
49
|
+
@to_zulu = opts.fetch(:to_zulu, true)
|
50
|
+
@timezone = opts.fetch(:timezone, UO_TZ)
|
52
51
|
end
|
53
52
|
|
54
53
|
def parse(loglines)
|
55
|
-
unless loglines.is_a?(
|
56
|
-
fail ArgumentError, 'arg 1 must be
|
54
|
+
unless loglines.is_a?(Array)
|
55
|
+
fail ArgumentError, 'arg 1 must be an Array object'
|
57
56
|
end
|
58
57
|
regex_matches(loglines)
|
59
58
|
end
|
@@ -61,16 +60,13 @@ module RMuh
|
|
61
60
|
private
|
62
61
|
|
63
62
|
def regex_matches(loglines)
|
63
|
+
regexes = [[LEFT, :disconnect], [CHAT, :chat], [JOINED, :connect],
|
64
|
+
[GUID, :beguid]]
|
64
65
|
loglines.map do |l|
|
65
66
|
line = nil
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
line = { type: :chat }.merge(m_to_h($LAST_MATCH_INFO))
|
70
|
-
elsif JOINED.match(l)
|
71
|
-
line = { type: :connect }.merge(m_to_h($LAST_MATCH_INFO))
|
72
|
-
elsif GUID.match(l)
|
73
|
-
line = { type: :beguid }.merge(m_to_h($LAST_MATCH_INFO))
|
67
|
+
regexes.each do |reg|
|
68
|
+
next if !reg[0].match(l) || (reg[1] == :chat && !@include_chat)
|
69
|
+
line = { type: reg[1] }.merge(m_to_h($LAST_MATCH_INFO))
|
74
70
|
end
|
75
71
|
line_modifiers(line) unless line.nil?
|
76
72
|
end.compact
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# -*- coding: UTF-8 -*-
|
2
|
-
|
2
|
+
|
3
3
|
require 'English'
|
4
4
|
require 'tzinfo'
|
5
5
|
require 'rmuh/rpt/log/parsers/base'
|
@@ -43,16 +43,16 @@ module RMuh
|
|
43
43
|
def initialize(opts = {})
|
44
44
|
self.class.validate_opts(opts)
|
45
45
|
|
46
|
-
@to_zulu = opts
|
47
|
-
@timezone = opts
|
46
|
+
@to_zulu = opts.fetch(:to_zulu, true)
|
47
|
+
@timezone = opts.fetch(:timezone, UO_TZ)
|
48
48
|
end
|
49
49
|
|
50
|
-
# Parse the
|
51
|
-
# This expects arg 1 to be
|
50
|
+
# Parse the Array object which is the lines from the log.
|
51
|
+
# This expects arg 1 to be an Array object, otherwise it will
|
52
52
|
# throw an ArgumentError exception
|
53
53
|
def parse(loglines)
|
54
|
-
unless loglines.is_a?(
|
55
|
-
fail ArgumentError, 'argument 1 must be
|
54
|
+
unless loglines.is_a?(Array)
|
55
|
+
fail ArgumentError, 'argument 1 must be an Array object'
|
56
56
|
end
|
57
57
|
|
58
58
|
loglines.map do |l|
|
data/lib/rmuh/version.rb
CHANGED
data/rmuh.gemspec
CHANGED
@@ -20,16 +20,16 @@ Gem::Specification.new do |g|
|
|
20
20
|
g.test_files = `git ls-files spec/*`.split
|
21
21
|
g.files = `git ls-files`.split
|
22
22
|
|
23
|
-
g.add_development_dependency 'rake', '~>
|
24
|
-
g.add_development_dependency 'rspec', '
|
25
|
-
g.add_development_dependency 'rubocop', '~> 0.
|
26
|
-
g.add_development_dependency 'fuubar', '
|
27
|
-
g.add_development_dependency 'simplecov', '~> 0.8'
|
28
|
-
g.add_development_dependency 'coveralls', '~> 0.7'
|
29
|
-
g.add_development_dependency 'awesome_print', '~> 1.2'
|
23
|
+
g.add_development_dependency 'rake', '~> 10.1'
|
24
|
+
g.add_development_dependency 'rspec', '~> 3.0'
|
25
|
+
g.add_development_dependency 'rubocop', '~> 0.23.0'
|
26
|
+
g.add_development_dependency 'fuubar', '>= 2.0.0.rc1'
|
27
|
+
g.add_development_dependency 'simplecov', '~> 0.8'
|
28
|
+
g.add_development_dependency 'coveralls', '~> 0.7'
|
29
|
+
g.add_development_dependency 'awesome_print', '~> 1.2'
|
30
30
|
|
31
31
|
g.add_runtime_dependency 'tzinfo-data'
|
32
|
-
g.add_runtime_dependency 'tzinfo', '~> 1.1'
|
33
|
-
g.add_runtime_dependency 'httparty', '~> 0.12'
|
32
|
+
g.add_runtime_dependency 'tzinfo', '~> 1.1'
|
33
|
+
g.add_runtime_dependency 'httparty', '~> 0.12'
|
34
34
|
g.add_runtime_dependency 'gamespy_query', '~> 0.1', '>= 0.1.5'
|
35
35
|
end
|
@@ -1,5 +1,4 @@
|
|
1
1
|
# -*- coding: UTF-8 -*-
|
2
|
-
require 'stringio'
|
3
2
|
|
4
3
|
describe RMuh::RPT::Log::Fetch do
|
5
4
|
let(:url) do
|
@@ -86,12 +85,12 @@ describe RMuh::RPT::Log::Fetch do
|
|
86
85
|
end
|
87
86
|
|
88
87
|
context '#log' do
|
89
|
-
it 'should return
|
90
|
-
expect(fetch.log).to be_an_instance_of
|
88
|
+
it 'should return an Array object' do
|
89
|
+
expect(fetch.log).to be_an_instance_of Array
|
91
90
|
end
|
92
91
|
|
93
92
|
it 'should return the log' do
|
94
|
-
expect(fetch.log.
|
93
|
+
expect(fetch.log.join('')).to eql 'RSpec, yo'
|
95
94
|
end
|
96
95
|
end
|
97
96
|
|
@@ -4,6 +4,44 @@ require 'spec_helper'
|
|
4
4
|
describe RMuh::RPT::Log::Formatters::UnitedOperationsLog do
|
5
5
|
let(:uolog) { RMuh::RPT::Log::Formatters::UnitedOperationsLog }
|
6
6
|
|
7
|
+
describe '.logtime' do
|
8
|
+
context 'when given more than two args' do
|
9
|
+
it 'should raise ArgumentError' do
|
10
|
+
expect do
|
11
|
+
uolog.send(:ltime, nil, nil, nil)
|
12
|
+
end.to raise_error ArgumentError
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
context 'when given less than one arg' do
|
17
|
+
it 'should raise ArgumentError' do
|
18
|
+
expect do
|
19
|
+
uolog.send(:ltime, nil)
|
20
|
+
end.to raise_error ArgumentError
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context 'when given an event for a message event' do
|
25
|
+
let(:event) { { iso8601: '1970-01-01T00:00:00Z' } }
|
26
|
+
|
27
|
+
subject { uolog.send(:ltime, event, :m) }
|
28
|
+
|
29
|
+
it { should be_an_instance_of String }
|
30
|
+
|
31
|
+
it { should eql '1970-01-01T00:00:00Z Server: ' }
|
32
|
+
end
|
33
|
+
|
34
|
+
context 'when given an event for a chat event' do
|
35
|
+
let(:event) { { iso8601: '1970-01-01T00:00:00Z' } }
|
36
|
+
|
37
|
+
subject { uolog.send(:ltime, event, :c) }
|
38
|
+
|
39
|
+
it { should be_an_instance_of String }
|
40
|
+
|
41
|
+
it { should eql '1970-01-01T00:00:00Z Chat: ' }
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
7
45
|
describe '.format_chat' do
|
8
46
|
context 'when given more than one arg' do
|
9
47
|
it 'should raise ArgumentError' do
|
@@ -33,6 +71,12 @@ describe RMuh::RPT::Log::Formatters::UnitedOperationsLog do
|
|
33
71
|
|
34
72
|
it { should be_an_instance_of String }
|
35
73
|
|
74
|
+
it 'should call .time() with the proper args' do
|
75
|
+
expect(uolog).to receive(:ltime).with(event, :c)
|
76
|
+
.and_return('1970-01-01T00:00:00Z Chat: ')
|
77
|
+
subject
|
78
|
+
end
|
79
|
+
|
36
80
|
it do
|
37
81
|
should eql "1970-01-01T00:00:00Z Chat: (group) Heckman: Seriously?\n"
|
38
82
|
end
|
@@ -67,6 +111,12 @@ describe RMuh::RPT::Log::Formatters::UnitedOperationsLog do
|
|
67
111
|
|
68
112
|
it { should be_an_instance_of String }
|
69
113
|
|
114
|
+
it 'should call .time() with the proper args' do
|
115
|
+
expect(uolog).to receive(:ltime).with(event, :m)
|
116
|
+
.and_return('z Server: ')
|
117
|
+
subject
|
118
|
+
end
|
119
|
+
|
70
120
|
it { should eql "z Server: Verified GUID (x) of player #0 y\n" }
|
71
121
|
end
|
72
122
|
end
|
@@ -99,6 +149,12 @@ describe RMuh::RPT::Log::Formatters::UnitedOperationsLog do
|
|
99
149
|
|
100
150
|
it { should be_an_instance_of String }
|
101
151
|
|
152
|
+
it 'should call .time() with the proper args' do
|
153
|
+
expect(uolog).to receive(:ltime).with(event, :m)
|
154
|
+
.and_return('z Server: ')
|
155
|
+
subject
|
156
|
+
end
|
157
|
+
|
102
158
|
it { should eql "z Server: Player x disconnected\n" }
|
103
159
|
end
|
104
160
|
end
|
@@ -131,6 +187,12 @@ describe RMuh::RPT::Log::Formatters::UnitedOperationsLog do
|
|
131
187
|
|
132
188
|
it { should be_an_instance_of String }
|
133
189
|
|
190
|
+
it 'should call .time() with the proper args' do
|
191
|
+
expect(uolog).to receive(:ltime).with(event, :m)
|
192
|
+
.and_return('z Server: ')
|
193
|
+
subject
|
194
|
+
end
|
195
|
+
|
134
196
|
it { should eql "z Server: Player #0 x (127.0.0.1) connected\n" }
|
135
197
|
end
|
136
198
|
end
|
@@ -1,13 +1,12 @@
|
|
1
1
|
# -*- coding: UTF-8 -*-
|
2
|
-
require 'stringio'
|
3
2
|
|
4
3
|
describe RMuh::RPT::Log::Parsers::Base do
|
5
|
-
let(:text) {
|
4
|
+
let(:text) { ['This is a string.', 'So is this!'] }
|
6
5
|
let(:base) { RMuh::RPT::Log::Parsers::Base.new }
|
7
6
|
|
8
7
|
context 'text' do
|
9
|
-
it 'should be a
|
10
|
-
expect(text).to be_an_instance_of
|
8
|
+
it 'should be a Array object' do
|
9
|
+
expect(text).to be_an_instance_of Array
|
11
10
|
end
|
12
11
|
end
|
13
12
|
|
@@ -48,16 +47,12 @@ describe RMuh::RPT::Log::Parsers::Base do
|
|
48
47
|
expect { base.parse(0.0) }.to raise_error ArgumentError
|
49
48
|
end
|
50
49
|
|
51
|
-
it 'should raise an error when passed an Array' do
|
52
|
-
expect { base.parse([]) }.to raise_error ArgumentError
|
53
|
-
end
|
54
|
-
|
55
50
|
it 'should raise an error when passed a Hash' do
|
56
51
|
expect { base.parse({}) }.to raise_error ArgumentError
|
57
52
|
end
|
58
53
|
|
59
|
-
it 'should not raise an error when passed a
|
60
|
-
expect { base.parse(
|
54
|
+
it 'should not raise an error when passed a Array object' do
|
55
|
+
expect { base.parse([]) }.to_not raise_error
|
61
56
|
end
|
62
57
|
|
63
58
|
it 'should return an Array' do
|
@@ -1,5 +1,4 @@
|
|
1
1
|
# -*- coding: UTF-8 -*-
|
2
|
-
require 'stringio'
|
3
2
|
require 'tzinfo'
|
4
3
|
|
5
4
|
describe RMuh::RPT::Log::Parsers::UnitedOperationsLog do
|
@@ -286,7 +285,7 @@ describe RMuh::RPT::Log::Parsers::UnitedOperationsLog do
|
|
286
285
|
"6:58:25 BattlEye Server: (Side) Major Lee Payne: I'm up, " \
|
287
286
|
"radio doesn't work"
|
288
287
|
end
|
289
|
-
let(:loglines) {
|
288
|
+
let(:loglines) { ["#{guid_line}", "#{chat_line}"] }
|
290
289
|
|
291
290
|
it 'should take no more than one arg' do
|
292
291
|
expect do
|
@@ -301,7 +300,7 @@ describe RMuh::RPT::Log::Parsers::UnitedOperationsLog do
|
|
301
300
|
end
|
302
301
|
|
303
302
|
it 'should return an Array' do
|
304
|
-
expect(uolog.send(:regex_matches,
|
303
|
+
expect(uolog.send(:regex_matches, []))
|
305
304
|
.to be_an_instance_of Array
|
306
305
|
end
|
307
306
|
|
@@ -312,30 +311,30 @@ describe RMuh::RPT::Log::Parsers::UnitedOperationsLog do
|
|
312
311
|
end
|
313
312
|
|
314
313
|
it 'should properly match a guid line' do
|
315
|
-
x = uolog.send(:regex_matches,
|
314
|
+
x = uolog.send(:regex_matches, [guid_line])
|
316
315
|
expect(x[0][:type]).to eql :beguid
|
317
316
|
end
|
318
317
|
|
319
318
|
it 'should properly match a chat line' do
|
320
|
-
x = uolog.send(:regex_matches,
|
319
|
+
x = uolog.send(:regex_matches, [chat_line])
|
321
320
|
expect(x[0][:type]).to eql :chat
|
322
321
|
end
|
323
322
|
|
324
323
|
it 'should not match a chat line if chat matching is disabled' do
|
325
324
|
u = RMuh::RPT::Log::Parsers::UnitedOperationsLog.new
|
326
325
|
expect(
|
327
|
-
u.send(:regex_matches,
|
326
|
+
u.send(:regex_matches, [chat_line]).empty?
|
328
327
|
).to be_truthy
|
329
328
|
end
|
330
329
|
|
331
330
|
it 'should compact the Array' do
|
332
|
-
l =
|
331
|
+
l = ['Something1', 'Something2']
|
333
332
|
x = uolog.send(:regex_matches, l)
|
334
333
|
expect(x.include?(nil)).to be_falsey
|
335
334
|
end
|
336
335
|
|
337
336
|
it 'should call #line_modifiers' do
|
338
|
-
x = uolog.send(:regex_matches,
|
337
|
+
x = uolog.send(:regex_matches, [guid_line])
|
339
338
|
expect(x[0].key?(:year)).to be_truthy
|
340
339
|
expect(x[0].key?(:month)).to be_truthy
|
341
340
|
expect(x[0].key?(:day)).to be_truthy
|
@@ -359,8 +358,8 @@ describe RMuh::RPT::Log::Parsers::UnitedOperationsLog do
|
|
359
358
|
expect { uolog.parse }.to raise_error ArgumentError
|
360
359
|
end
|
361
360
|
|
362
|
-
it 'should not fail if arg1 is a
|
363
|
-
expect { uolog.parse(
|
361
|
+
it 'should not fail if arg1 is a Array object' do
|
362
|
+
expect { uolog.parse([]) }.to_not raise_error
|
364
363
|
end
|
365
364
|
|
366
365
|
it 'should fail if arg1 is a String' do
|
@@ -379,10 +378,6 @@ describe RMuh::RPT::Log::Parsers::UnitedOperationsLog do
|
|
379
378
|
expect { uolog.parse(0.0) }.to raise_error ArgumentError
|
380
379
|
end
|
381
380
|
|
382
|
-
it 'should fail if arg1 is a Array' do
|
383
|
-
expect { uolog.parse([]) }.to raise_error ArgumentError
|
384
|
-
end
|
385
|
-
|
386
381
|
it 'should fail if arg1 is a Hash' do
|
387
382
|
expect { uolog.parse({}) }.to raise_error ArgumentError
|
388
383
|
end
|
@@ -392,11 +387,11 @@ describe RMuh::RPT::Log::Parsers::UnitedOperationsLog do
|
|
392
387
|
end
|
393
388
|
|
394
389
|
it 'should return an Array' do
|
395
|
-
expect(uolog.parse(
|
390
|
+
expect(uolog.parse([])).to be_an_instance_of Array
|
396
391
|
end
|
397
392
|
|
398
393
|
it 'should call #regex_matches' do
|
399
|
-
x = uolog.parse(
|
394
|
+
x = uolog.parse([guid_line])
|
400
395
|
expect(x[0].key?(:type)).to be_truthy
|
401
396
|
expect(x[0].key?(:year)).to be_truthy
|
402
397
|
expect(x[0].key?(:month)).to be_truthy
|
@@ -1,5 +1,4 @@
|
|
1
1
|
# -*- coding: UTF-8 -*-
|
2
|
-
require 'stringio'
|
3
2
|
|
4
3
|
describe RMuh::RPT::Log::Parsers::UnitedOperationsRPT do
|
5
4
|
let(:uorpt) { RMuh::RPT::Log::Parsers::UnitedOperationsRPT.new }
|
@@ -213,7 +212,7 @@ describe RMuh::RPT::Log::Parsers::UnitedOperationsRPT do
|
|
213
212
|
'0.0015564] (GRID 0655306961). Yevgeniy Nikolayev position: ' \
|
214
213
|
'[6498.62,6916.71,0.0204163] (GRID 0649806916). Distance between:' \
|
215
214
|
' 71.1653 meters. Near players (100m): None."'
|
216
|
-
|
215
|
+
["#{l1}", "#{l2}"]
|
217
216
|
end
|
218
217
|
|
219
218
|
it 'should not take more than one arg' do
|
@@ -228,14 +227,14 @@ describe RMuh::RPT::Log::Parsers::UnitedOperationsRPT do
|
|
228
227
|
end.to raise_error ArgumentError
|
229
228
|
end
|
230
229
|
|
231
|
-
it 'should fail if arg 1 is not an instance of
|
230
|
+
it 'should fail if arg 1 is not an instance of Array' do
|
232
231
|
expect do
|
233
232
|
uorpt.parse(nil)
|
234
233
|
end.to raise_error ArgumentError
|
235
234
|
end
|
236
235
|
|
237
236
|
it 'should return an Array' do
|
238
|
-
ll =
|
237
|
+
ll = []
|
239
238
|
x = uorpt.parse(ll)
|
240
239
|
expect(x).to be_an_instance_of Array
|
241
240
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rmuh
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Heckman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -17,9 +17,6 @@ dependencies:
|
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '10.1'
|
20
|
-
- - ">="
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 10.1.0
|
23
20
|
type: :development
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -27,63 +24,48 @@ dependencies:
|
|
27
24
|
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '10.1'
|
30
|
-
- - ">="
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 10.1.0
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: rspec
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
36
30
|
requirements:
|
37
|
-
- - "
|
31
|
+
- - "~>"
|
38
32
|
- !ruby/object:Gem::Version
|
39
|
-
version: 3.0
|
33
|
+
version: '3.0'
|
40
34
|
type: :development
|
41
35
|
prerelease: false
|
42
36
|
version_requirements: !ruby/object:Gem::Requirement
|
43
37
|
requirements:
|
44
|
-
- - "
|
38
|
+
- - "~>"
|
45
39
|
- !ruby/object:Gem::Version
|
46
|
-
version: 3.0
|
40
|
+
version: '3.0'
|
47
41
|
- !ruby/object:Gem::Dependency
|
48
42
|
name: rubocop
|
49
43
|
requirement: !ruby/object:Gem::Requirement
|
50
44
|
requirements:
|
51
45
|
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
54
|
-
- - ">="
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: 0.21.0
|
47
|
+
version: 0.23.0
|
57
48
|
type: :development
|
58
49
|
prerelease: false
|
59
50
|
version_requirements: !ruby/object:Gem::Requirement
|
60
51
|
requirements:
|
61
52
|
- - "~>"
|
62
53
|
- !ruby/object:Gem::Version
|
63
|
-
version:
|
64
|
-
- - ">="
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: 0.21.0
|
54
|
+
version: 0.23.0
|
67
55
|
- !ruby/object:Gem::Dependency
|
68
56
|
name: fuubar
|
69
57
|
requirement: !ruby/object:Gem::Requirement
|
70
58
|
requirements:
|
71
|
-
- - "~>"
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: '1.3'
|
74
59
|
- - ">="
|
75
60
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
61
|
+
version: 2.0.0.rc1
|
77
62
|
type: :development
|
78
63
|
prerelease: false
|
79
64
|
version_requirements: !ruby/object:Gem::Requirement
|
80
65
|
requirements:
|
81
|
-
- - "~>"
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
version: '1.3'
|
84
66
|
- - ">="
|
85
67
|
- !ruby/object:Gem::Version
|
86
|
-
version:
|
68
|
+
version: 2.0.0.rc1
|
87
69
|
- !ruby/object:Gem::Dependency
|
88
70
|
name: simplecov
|
89
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -91,9 +73,6 @@ dependencies:
|
|
91
73
|
- - "~>"
|
92
74
|
- !ruby/object:Gem::Version
|
93
75
|
version: '0.8'
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: 0.8.2
|
97
76
|
type: :development
|
98
77
|
prerelease: false
|
99
78
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -101,9 +80,6 @@ dependencies:
|
|
101
80
|
- - "~>"
|
102
81
|
- !ruby/object:Gem::Version
|
103
82
|
version: '0.8'
|
104
|
-
- - ">="
|
105
|
-
- !ruby/object:Gem::Version
|
106
|
-
version: 0.8.2
|
107
83
|
- !ruby/object:Gem::Dependency
|
108
84
|
name: coveralls
|
109
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -111,9 +87,6 @@ dependencies:
|
|
111
87
|
- - "~>"
|
112
88
|
- !ruby/object:Gem::Version
|
113
89
|
version: '0.7'
|
114
|
-
- - ">="
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
version: 0.7.0
|
117
90
|
type: :development
|
118
91
|
prerelease: false
|
119
92
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -121,9 +94,6 @@ dependencies:
|
|
121
94
|
- - "~>"
|
122
95
|
- !ruby/object:Gem::Version
|
123
96
|
version: '0.7'
|
124
|
-
- - ">="
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
version: 0.7.0
|
127
97
|
- !ruby/object:Gem::Dependency
|
128
98
|
name: awesome_print
|
129
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -131,9 +101,6 @@ dependencies:
|
|
131
101
|
- - "~>"
|
132
102
|
- !ruby/object:Gem::Version
|
133
103
|
version: '1.2'
|
134
|
-
- - ">="
|
135
|
-
- !ruby/object:Gem::Version
|
136
|
-
version: 1.2.0
|
137
104
|
type: :development
|
138
105
|
prerelease: false
|
139
106
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -141,9 +108,6 @@ dependencies:
|
|
141
108
|
- - "~>"
|
142
109
|
- !ruby/object:Gem::Version
|
143
110
|
version: '1.2'
|
144
|
-
- - ">="
|
145
|
-
- !ruby/object:Gem::Version
|
146
|
-
version: 1.2.0
|
147
111
|
- !ruby/object:Gem::Dependency
|
148
112
|
name: tzinfo-data
|
149
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -165,9 +129,6 @@ dependencies:
|
|
165
129
|
- - "~>"
|
166
130
|
- !ruby/object:Gem::Version
|
167
131
|
version: '1.1'
|
168
|
-
- - ">="
|
169
|
-
- !ruby/object:Gem::Version
|
170
|
-
version: 1.1.0
|
171
132
|
type: :runtime
|
172
133
|
prerelease: false
|
173
134
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -175,9 +136,6 @@ dependencies:
|
|
175
136
|
- - "~>"
|
176
137
|
- !ruby/object:Gem::Version
|
177
138
|
version: '1.1'
|
178
|
-
- - ">="
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: 1.1.0
|
181
139
|
- !ruby/object:Gem::Dependency
|
182
140
|
name: httparty
|
183
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -185,9 +143,6 @@ dependencies:
|
|
185
143
|
- - "~>"
|
186
144
|
- !ruby/object:Gem::Version
|
187
145
|
version: '0.12'
|
188
|
-
- - ">="
|
189
|
-
- !ruby/object:Gem::Version
|
190
|
-
version: 0.12.0
|
191
146
|
type: :runtime
|
192
147
|
prerelease: false
|
193
148
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -195,9 +150,6 @@ dependencies:
|
|
195
150
|
- - "~>"
|
196
151
|
- !ruby/object:Gem::Version
|
197
152
|
version: '0.12'
|
198
|
-
- - ">="
|
199
|
-
- !ruby/object:Gem::Version
|
200
|
-
version: 0.12.0
|
201
153
|
- !ruby/object:Gem::Dependency
|
202
154
|
name: gamespy_query
|
203
155
|
requirement: !ruby/object:Gem::Requirement
|