tf2_line_parser 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
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