tf2_line_parser 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 0500be5eee5a5fd6aa5ead2ce2606b9fec1c1a67
4
- data.tar.gz: a056e45f6ff929cc14276ec7e449430bb1198049
2
+ SHA256:
3
+ metadata.gz: e22961d8f12fb908e7200eeeab6dbf8ead59064e36b58585577947df3363aeac
4
+ data.tar.gz: 065b72078b85b1bf414f7d7cc318cfb7c7c315e3beb417d19e0ded93120b3f11
5
5
  SHA512:
6
- metadata.gz: 38eadc75a8dece93237fdf8c7d451ca2874d534c4a6825955da549972e0802e56eaa0db1babdf5906e86cda1a0ab2a0aa5c58231ee11f2e729514c019917d59b
7
- data.tar.gz: 88bb13821ceec90d4c2bc49cff5cc2c302f04533c14739b78d4cf6c87dba5d2556a7e1c5f05b3bafb0ed5ea54befc64be0f013bd7eb938ead2499cc279fd0d68
6
+ metadata.gz: 464ac8116f2e6857c17156d5c6ed6f48dd8ca1d4c5367cb08ef0bb38e72e9e70675741c140b9722f223309df3c027500f86e726bd4d7e7447826b4e44047687e
7
+ data.tar.gz: eb66bc6afc1dc620003d19b9d812fe13f4bc8718a8a1c4bb50e2ce459fc83cdd1c192ee0fa44094ec01f38022b2ce8a711d288fa51a72e8bcf5d45634cbed739
data/.travis.yml CHANGED
@@ -1,8 +1,8 @@
1
1
  language: ruby
2
2
  cache: bundler
3
3
  rvm:
4
- - 2.2.5
5
- - 2.3.1
6
- - jruby-9.1.5.0
4
+ - 2.3.8
5
+ - 2.4.5
6
+ - 2.5.3
7
7
  script: ./script/ci
8
8
  sudo: false
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tf2_line_parser (0.1.6)
4
+ tf2_line_parser (0.2.0)
5
5
  activesupport
6
6
 
7
7
  GEM
@@ -32,14 +32,19 @@ GEM
32
32
  slop (~> 3.4)
33
33
  pry-nav (0.2.4)
34
34
  pry (>= 0.9.10, < 0.11.0)
35
- rspec (2.13.0)
36
- rspec-core (~> 2.13.0)
37
- rspec-expectations (~> 2.13.0)
38
- rspec-mocks (~> 2.13.0)
39
- rspec-core (2.13.1)
40
- rspec-expectations (2.13.0)
41
- diff-lcs (>= 1.1.3, < 2.0)
42
- rspec-mocks (2.13.1)
35
+ rspec (3.5.0)
36
+ rspec-core (~> 3.5.0)
37
+ rspec-expectations (~> 3.5.0)
38
+ rspec-mocks (~> 3.5.0)
39
+ rspec-core (3.5.4)
40
+ rspec-support (~> 3.5.0)
41
+ rspec-expectations (3.5.0)
42
+ diff-lcs (>= 1.2.0, < 2.0)
43
+ rspec-support (~> 3.5.0)
44
+ rspec-mocks (3.5.0)
45
+ diff-lcs (>= 1.2.0, < 2.0)
46
+ rspec-support (~> 3.5.0)
47
+ rspec-support (3.5.0)
43
48
  simplecov (0.14.1)
44
49
  docile (~> 1.1.0)
45
50
  json (>= 1.8, < 3)
@@ -60,7 +65,7 @@ PLATFORMS
60
65
  DEPENDENCIES
61
66
  coveralls
62
67
  pry-nav
63
- rspec
68
+ rspec (~> 3.5.0)
64
69
  tf2_line_parser!
65
70
 
66
71
  BUNDLED WITH
@@ -8,6 +8,7 @@ require "tf2_line_parser/events/pvp_event"
8
8
  require "tf2_line_parser/events/player_action_event"
9
9
  require "tf2_line_parser/events/round_event_without_variables"
10
10
  require "tf2_line_parser/events/round_event_with_variables"
11
+ require "tf2_line_parser/events/connect"
11
12
  require "tf2_line_parser/events/score"
12
13
  require "tf2_line_parser/events/role_change"
13
14
  require "tf2_line_parser/events/damage"
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+ module TF2LineParser
3
+ module Events
4
+
5
+
6
+ class Connect < Event
7
+
8
+ def initialize(time, player_name, player_steam_id, player_team, message)
9
+ @time = parse_time(time)
10
+ @player = Player.new(player_name, player_steam_id, player_team)
11
+ @message = message
12
+ end
13
+
14
+ def self.attributes
15
+ @attributes ||= [:time, :player_nick, :player_steamid, :player_team, :message]
16
+ end
17
+
18
+ def self.regex
19
+ @regex ||= /#{regex_time} #{regex_player} connected, address #{regex_message}/.freeze
20
+ end
21
+
22
+ end
23
+
24
+ end
25
+ end
@@ -19,7 +19,7 @@ module TF2LineParser
19
19
  end
20
20
 
21
21
  def self.regex_player
22
- @regex_player ||= '"(?\'player_nick\'.+)<(?\'player_uid\'\d+)><(?\'player_steamid\'(\[\S+\]|STEAM_\S+))><(?\'player_team\'Red|Blue|Spectator|TERRORIST|CT)>"'.freeze
22
+ @regex_player ||= '"(?\'player_nick\'.+)<(?\'player_uid\'\d+)><(?\'player_steamid\'(\[\S+\]|STEAM_\S+))><(?\'player_team\'Red|Blue|Spectator|TERRORIST|CT||)>"'.freeze
23
23
  end
24
24
 
25
25
  def self.regex_target
@@ -42,7 +42,7 @@ module TF2LineParser
42
42
  #ordered by how common the messages are
43
43
  @types ||= [Damage, Heal, PickupItem, Assist, Kill, CaptureBlock, PointCapture, ChargeDeployed,
44
44
  MedicDeath, RoleChange, Spawn, Airshot, HeadshotDamage, Suicide, Say, TeamSay, Domination, Revenge, RoundWin, CurrentScore,
45
- RoundLength, RoundStart, ConsoleSay, MatchEnd, FinalScore,
45
+ RoundLength, RoundStart, Connect, ConsoleSay, MatchEnd, FinalScore,
46
46
  RoundStalemate, Unknown].freeze
47
47
  end
48
48
 
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module TF2LineParser
3
- VERSION = '0.2.0'
3
+ VERSION = '0.2.1'
4
4
  end
@@ -186,6 +186,15 @@ module TF2LineParser
186
186
  parse(line)
187
187
  end
188
188
 
189
+ it 'recognizes connect' do
190
+ line = log_lines[9]
191
+ name = "Epsilon numlocked"
192
+ steam_id = "STEAM_0:1:16347045"
193
+ team = ''
194
+ message = "0.0.0.0:27005"
195
+ expect(Events::Connect).to receive(:new).with(anything, name, steam_id, team, message)
196
+ parse(line)
197
+ end
189
198
 
190
199
  it 'recognizes chat' do
191
200
  line = log_lines[89]
@@ -385,11 +394,22 @@ module TF2LineParser
385
394
  steam_id = "STEAM_1:0:160621749"
386
395
  team = 'TERRORIST'
387
396
  message = "!rcon changelevel de_dust2"
388
- Events::Say.should_receive(:new).with(anything, name, steam_id, team, message)
397
+ expect(Events::Say).to receive(:new).with(anything, name, steam_id, team, message)
389
398
  parse(line)
390
399
  end
391
400
 
392
- end
401
+ it "doesn't fall for twiikuu's cheeky name" do
402
+ player_name = 't<1><[U:1:123456]><Red>" say "'
403
+ line = %Q|L 02/07/2013 - 21:22:08: "#{player_name}<5><[U:1:1337]><Red>" say "!who"|
404
+
405
+ name = 't<1><[U:1:123456]><Red>" say "'
406
+ steam_id = "[U:1:1337]"
407
+ team = 'Red'
408
+ message = "!who"
409
+ expect(Events::Say).to receive(:new).with(anything, name, steam_id, team, message)
393
410
 
411
+ parse(line)
412
+ end
413
+ end
394
414
  end
395
415
  end
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'simplecov'
2
2
  require 'coveralls'
3
3
 
4
- SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
4
+ SimpleCov.formatters = SimpleCov::Formatter::MultiFormatter[
5
5
  SimpleCov::Formatter::HTMLFormatter,
6
6
  Coveralls::SimpleCov::Formatter
7
7
  ]
@@ -17,5 +17,5 @@ Gem::Specification.new do |gem|
17
17
  gem.add_dependency "activesupport"
18
18
  gem.add_development_dependency 'coveralls'
19
19
  gem.add_development_dependency "pry-nav"
20
- gem.add_development_dependency "rspec"
20
+ gem.add_development_dependency "rspec", "~> 3.5.0"
21
21
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tf2_line_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-03 00:00:00.000000000 Z
11
+ date: 2021-04-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -56,16 +56,16 @@ dependencies:
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 3.5.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: 3.5.0
69
69
  description: A gem to parse log lines from TF2 servers
70
70
  email: rubygems@ariekanarie.nl
71
71
  executables: []
@@ -85,6 +85,7 @@ files:
85
85
  - lib/tf2_line_parser/events/capture_block.rb
86
86
  - lib/tf2_line_parser/events/charge_deployed.rb
87
87
  - lib/tf2_line_parser/events/chat.rb
88
+ - lib/tf2_line_parser/events/connect.rb
88
89
  - lib/tf2_line_parser/events/console_say.rb
89
90
  - lib/tf2_line_parser/events/current_score.rb
90
91
  - lib/tf2_line_parser/events/damage.rb
@@ -148,8 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
148
149
  - !ruby/object:Gem::Version
149
150
  version: '0'
150
151
  requirements: []
151
- rubyforge_project:
152
- rubygems_version: 2.6.8
152
+ rubygems_version: 3.1.2
153
153
  signing_key:
154
154
  specification_version: 4
155
155
  summary: TF2 log line parser