tf2_line_parser 0.1.4 → 0.1.5

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
2
  SHA1:
3
- metadata.gz: 7a3d7673389c53ef93a60cf7bbd17a7a7313458b
4
- data.tar.gz: 22167823c824d411974e72db7f8f36e02d124eed
3
+ metadata.gz: 41ffcb0e8974928c190db1522e7fd1c035b1c4b6
4
+ data.tar.gz: 8515b8d7f43dc0d1fbb9cd4ff0398f3267cac355
5
5
  SHA512:
6
- metadata.gz: e487f28fc1dc13a60996ab319cb8445b1e65d8b774feda994ff9c71ddd476e15dcf1dc813c60e1d0a1aa46e6b4f356cc50d5b25079e3987eecfd7de7704e36e7
7
- data.tar.gz: 5736a367b60aa7f04d49f561f99fd0b7ca2c8c701f52ac63ec2b87a8aa7ab92914175b7637ff151aa492595432fb89531a7ede7e25ed7fc9ee2b27f05758b4b9
6
+ metadata.gz: f24272d19b049ddbcb1d28fbb985ff7314d9cef77e6d60a34240c45b4d741141b0cebdda92566e85914c253498c877864f857c41ccb25fcce54de1b331e27236
7
+ data.tar.gz: e69b22b7643352b0109d6dc27ee83d8660451ed9b6711921bce70aab67a12e081ff70e810ef8981d5ca9376f87550baf630b52955065fdd204525724025fae97
data/Gemfile.lock CHANGED
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tf2_line_parser (0.1.3)
4
+ tf2_line_parser (0.1.4)
5
5
  activesupport
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activesupport (4.2.0)
10
+ activesupport (4.2.3)
11
11
  i18n (~> 0.7)
12
12
  json (~> 1.7, >= 1.7.7)
13
13
  minitest (~> 5.1)
@@ -23,10 +23,10 @@ GEM
23
23
  diff-lcs (1.2.5)
24
24
  docile (1.1.5)
25
25
  i18n (0.7.0)
26
- json (1.8.1)
26
+ json (1.8.3)
27
27
  method_source (0.8.2)
28
28
  mime-types (2.4.3)
29
- minitest (5.5.0)
29
+ minitest (5.7.0)
30
30
  multi_json (1.10.1)
31
31
  pry (0.10.1)
32
32
  coderay (~> 1.1.0)
@@ -53,7 +53,7 @@ GEM
53
53
  term-ansicolor (1.2.2)
54
54
  tins (~> 0.8)
55
55
  thor (0.18.1)
56
- thread_safe (0.3.4)
56
+ thread_safe (0.3.5)
57
57
  tins (0.13.2)
58
58
  tzinfo (1.2.2)
59
59
  thread_safe (~> 0.1)
@@ -66,3 +66,6 @@ DEPENDENCIES
66
66
  pry-nav (~> 0.2.3)
67
67
  rspec (~> 2.13.0)
68
68
  tf2_line_parser!
69
+
70
+ BUNDLED WITH
71
+ 1.10.5
@@ -40,7 +40,7 @@ module TF2LineParser
40
40
  def self.types
41
41
  #ordered by how common the messages are
42
42
  @types ||= [Damage, Heal, PickupItem, Assist, Kill, CaptureBlock, PointCapture, ChargeDeployed,
43
- MedicDeath, RoleChange, Spawn, Airshot, Suicide, Say, TeamSay, Domination, Revenge, RoundWin, CurrentScore,
43
+ MedicDeath, RoleChange, Spawn, Airshot, HeadshotDamage, Suicide, Say, TeamSay, Domination, Revenge, RoundWin, CurrentScore,
44
44
  RoundLength, RoundStart, ConsoleSay, MatchEnd, FinalScore,
45
45
  RoundStalemate, Unknown].freeze
46
46
  end
@@ -0,0 +1,31 @@
1
+ module TF2LineParser
2
+ module Events
3
+
4
+ class HeadshotDamage < Damage
5
+
6
+ def self.regex
7
+ @regex ||= /#{regex_time} #{regex_player} triggered "damage" #{regex_damage_against}\(damage "(?'value'\d+)"\)(?:( #{regex_realdamage})?( #{regex_weapon})?) #{regex_headshot}$/.freeze
8
+ end
9
+
10
+ def self.regex_headshot
11
+ @regex_headshot ||= '\(headshot "(?\'headshot\'\d+)"\)'.freeze
12
+ end
13
+
14
+ def self.attributes
15
+ @attributes ||= [:time, :player_nick, :player_steamid, :player_team, :target_nick, :target_steamid, :target_team, :value, :weapon]
16
+ end
17
+
18
+ def initialize(time, player_name, player_steamid, player_team, target_name, target_steamid, target_team, value, weapon)
19
+ @time = parse_time(time)
20
+ @player = Player.new(player_name, player_steamid, player_team)
21
+ if target_name
22
+ @target = Player.new(target_name, target_steamid, target_team)
23
+ end
24
+ @value = value.to_i
25
+ @weapon = weapon
26
+ end
27
+
28
+ end
29
+ end
30
+ end
31
+
@@ -1,3 +1,3 @@
1
1
  module TF2LineParser
2
- VERSION = '0.1.4'
2
+ VERSION = '0.1.5'
3
3
  end
@@ -80,6 +80,13 @@ module TF2LineParser
80
80
  parse(line).inspect
81
81
  end
82
82
 
83
+ it 'recognizes sniper headshot damage' do
84
+ line = detailed_log_lines[3645]
85
+ weapon = "sniperrifle"
86
+ Events::HeadshotDamage.should_receive(:new).with(anything, anything, anything, anything, anything, anything, anything, anything, weapon)
87
+ parse(line).inspect
88
+ end
89
+
83
90
  it 'ignores realdamage' do
84
91
  line = detailed_log_lines[65]
85
92
  player_name = "LittleLies"
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.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-12 00:00:00.000000000 Z
11
+ date: 2015-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -91,6 +91,7 @@ files:
91
91
  - lib/tf2_line_parser/events/domination.rb
92
92
  - lib/tf2_line_parser/events/event.rb
93
93
  - lib/tf2_line_parser/events/final_score.rb
94
+ - lib/tf2_line_parser/events/headshot_damage.rb
94
95
  - lib/tf2_line_parser/events/heal.rb
95
96
  - lib/tf2_line_parser/events/kill.rb
96
97
  - lib/tf2_line_parser/events/match_end.rb
@@ -147,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
148
  version: '0'
148
149
  requirements: []
149
150
  rubyforge_project:
150
- rubygems_version: 2.2.2
151
+ rubygems_version: 2.4.7
151
152
  signing_key:
152
153
  specification_version: 4
153
154
  summary: TF2 log line parser