tf2_line_parser 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml CHANGED
@@ -2,4 +2,5 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
4
  - rbx-19mode
5
+ - jruby-19mode
5
6
  script: ./script/ci
data/Gemfile.lock CHANGED
@@ -2,12 +2,17 @@ PATH
2
2
  remote: .
3
3
  specs:
4
4
  tf2_line_parser (0.0.2)
5
+ activesupport
5
6
 
6
7
  GEM
7
8
  remote: https://rubygems.org/
8
9
  specs:
10
+ activesupport (3.2.12)
11
+ i18n (~> 0.6)
12
+ multi_json (~> 1.0)
9
13
  coderay (1.0.8)
10
14
  diff-lcs (1.1.3)
15
+ i18n (0.6.1)
11
16
  method_source (0.8.1)
12
17
  multi_json (1.6.1)
13
18
  pry (0.9.12)
@@ -11,8 +11,6 @@ module TF2LineParser
11
11
  @attributes ||= [:time, :player_nick, :player_steamid, :player_team, :cp_number, :cp_name]
12
12
  end
13
13
 
14
- attr_accessor :time, :player, :cap_number, :cap_name
15
-
16
14
  def initialize(time, player_name, player_steam_id, player_team, cap_number, cap_name)
17
15
  @time = parse_time(time)
18
16
  @player = Player.new(player_name, player_steam_id, player_team)
@@ -11,8 +11,6 @@ module TF2LineParser
11
11
  @attributes ||= [:time, :player_nick, :player_steamid, :player_team]
12
12
  end
13
13
 
14
- attr_accessor :time, :player
15
-
16
14
  def initialize(time, name, steam_id, team)
17
15
  @time = parse_time(time)
18
16
  @player = Player.new(name, steam_id, team)
@@ -4,8 +4,6 @@ module TF2LineParser
4
4
 
5
5
  class Chat < Event
6
6
 
7
- attr_accessor :time, :player, :message
8
-
9
7
  def initialize(time, player_name, player_steam_id, player_team, message)
10
8
  @time = parse_time(time)
11
9
  @player = Player.new(player_name, player_steam_id, player_team)
@@ -11,8 +11,6 @@ module TF2LineParser
11
11
  @attributes ||= [:time, :message]
12
12
  end
13
13
 
14
- attr_accessor :time, :message
15
-
16
14
  def initialize(time, message)
17
15
  @time = parse_time(time)
18
16
  @message = message
@@ -11,8 +11,6 @@ module TF2LineParser
11
11
  @attributes ||= [:time, :player_nick, :player_steamid, :player_team, :value]
12
12
  end
13
13
 
14
- attr_accessor :time, :player, :value
15
-
16
14
  def initialize(time, player_name, player_steam_id, player_team, value)
17
15
  @time = parse_time(time)
18
16
  @player = Player.new(player_name, player_steam_id, player_team)
@@ -4,6 +4,11 @@ module TF2LineParser
4
4
 
5
5
  class Event
6
6
 
7
+ attr_accessor :time, :type, :cap_number, :cap_name, :message, :unknown
8
+ attr_accessor :team, :score, :value, :item, :role, :length, :method
9
+ attr_accessor :player, :target
10
+
11
+
7
12
  def self.time_format
8
13
  @time_format ||= '%m/%d/%Y - %T'
9
14
  end
@@ -57,8 +62,6 @@ module TF2LineParser
57
62
  @attributes ||= [:time, :player_nick, :player_steamid, :player_team, :target_nick, :target_steamid, :target_team]
58
63
  end
59
64
 
60
- attr_accessor :time, :player, :target
61
-
62
65
  def initialize(time, player_name, player_steam_id, player_team, target_name, target_steam_id, target_team)
63
66
  @time = parse_time(time)
64
67
  @player = Player.new(player_name, player_steam_id, player_team)
@@ -11,8 +11,6 @@ module TF2LineParser
11
11
  @attributes ||= [:time, :player_nick, :player_steamid, :player_team, :target_nick, :target_steamid, :target_team, :value]
12
12
  end
13
13
 
14
- attr_accessor :time, :player, :target, :value
15
-
16
14
  def initialize(time, player_name, player_steam_id, player_team, target_name, target_steam_id, target_team, value)
17
15
  @time = parse_time(time)
18
16
  @player = Player.new(player_name, player_steam_id, player_team)
@@ -11,8 +11,6 @@ module TF2LineParser
11
11
  @attributes ||= [:time, :reason]
12
12
  end
13
13
 
14
- attr_accessor :time, :reason
15
-
16
14
  def initialize(time, reason)
17
15
  @time = parse_time(time)
18
16
  @reason = reason
@@ -15,8 +15,6 @@ module TF2LineParser
15
15
  @attributes ||= [:time, :player_nick, :player_steamid, :player_team, :item]
16
16
  end
17
17
 
18
- attr_accessor :time, :player, :item
19
-
20
18
  def initialize(time, player_name, player_steam_id, player_team, item)
21
19
  @time = parse_time(time)
22
20
  @player = Player.new(player_name, player_steam_id, player_team)
@@ -11,8 +11,6 @@ module TF2LineParser
11
11
  @attributes ||= [:time, :team, :cp_number, :cp_name]
12
12
  end
13
13
 
14
- attr_accessor :time, :team, :cap_number, :cap_name
15
-
16
14
  def initialize(time, team, cap_number, cap_name)
17
15
  @time = parse_time(time)
18
16
  @team = team
@@ -15,8 +15,6 @@ module TF2LineParser
15
15
  @attributes ||= [:time, :player_nick, :player_steamid, :player_team, :role]
16
16
  end
17
17
 
18
- attr_accessor :time, :player, :role
19
-
20
18
  def initialize(time, player_name, player_steam_id, player_team, role)
21
19
  @time = parse_time(time)
22
20
  @player = Player.new(player_name, player_steam_id, player_team)
@@ -11,8 +11,6 @@ module TF2LineParser
11
11
  @attributes ||= [:time, :length]
12
12
  end
13
13
 
14
- attr_accessor :time, :length
15
-
16
14
  def initialize(time, length)
17
15
  @time = parse_time(time)
18
16
  @length = length
@@ -11,8 +11,6 @@ module TF2LineParser
11
11
  @attributes ||= [:time]
12
12
  end
13
13
 
14
- attr_accessor :time
15
-
16
14
  def initialize(time)
17
15
  @time = parse_time(time)
18
16
  end
@@ -11,8 +11,6 @@ module TF2LineParser
11
11
  @attributes ||= [:time]
12
12
  end
13
13
 
14
- attr_accessor :time
15
-
16
14
  def initialize(time)
17
15
  @time = parse_time(time)
18
16
  end
@@ -11,8 +11,6 @@ module TF2LineParser
11
11
  @attributes ||= [:time, :team]
12
12
  end
13
13
 
14
- attr_accessor :time, :team
15
-
16
14
  def initialize(time, team)
17
15
  @time = parse_time(time)
18
16
  @team = team
@@ -15,8 +15,6 @@ module TF2LineParser
15
15
  @attributes ||= [:time, :team, :score]
16
16
  end
17
17
 
18
- attr_accessor :time, :team, :score
19
-
20
18
  def initialize(time, team, score)
21
19
  @time = parse_time(time)
22
20
  @team = team
@@ -15,8 +15,6 @@ module TF2LineParser
15
15
  @attributes ||= [:time, :player_nick, :player_steamid, :player_team, :method]
16
16
  end
17
17
 
18
- attr_accessor :time, :player, :method
19
-
20
18
  def initialize(time, player_name, player_steam_id, player_team, method)
21
19
  @time = parse_time(time)
22
20
  @player = Player.new(player_name, player_steam_id, player_team)
@@ -15,8 +15,6 @@ module TF2LineParser
15
15
  @attributes ||= [:time, :unknown]
16
16
  end
17
17
 
18
- attr_accessor :time, :unknown
19
-
20
18
  def initialize(time, unknown)
21
19
  @time = parse_time(time)
22
20
  @unknown = unknown
@@ -1,4 +1,5 @@
1
1
  require 'time'
2
+ require 'active_support/multibyte/chars'
2
3
 
3
4
  module TF2LineParser
4
5
 
@@ -7,12 +8,18 @@ module TF2LineParser
7
8
  attr_accessor :line
8
9
 
9
10
  def initialize(line)
10
- @line = line.force_encoding('UTF-8').encode('UTF-16LE', :invalid => :replace, :replace => '').encode('UTF-8')
11
+ @line = line
11
12
  end
12
13
 
13
14
  def parse
14
15
  Events::Event.types.each do |type|
15
- if match = line.match(type.regex)
16
+ begin
17
+ match = line.match(type.regex)
18
+ rescue ArgumentError
19
+ tidied_line = ActiveSupport::Multibyte::Chars.new(line).tidy_bytes
20
+ match = tidied_line.match(type.regex)
21
+ end
22
+ if match
16
23
  @match ||= type.new(*type.regex_results(match))
17
24
  break
18
25
  end
@@ -1,3 +1,3 @@
1
1
  module TF2LogLineParser
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
  end
@@ -14,6 +14,7 @@ Gem::Specification.new do |gem|
14
14
  gem.require_paths = ["lib"]
15
15
  gem.homepage = 'http://github.com/Arie/tf2_line_parser'
16
16
 
17
+ gem.add_dependency "activesupport"
17
18
  gem.add_development_dependency "pry-nav", "~> 0.2.3"
18
19
  gem.add_development_dependency "rspec", "~> 2.12.0"
19
20
  gem.add_development_dependency "spec_coverage", "~> 0.0.5"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tf2_line_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,6 +11,22 @@ bindir: bin
11
11
  cert_chain: []
12
12
  date: 2013-02-10 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
14
30
  - !ruby/object:Gem::Dependency
15
31
  name: pry-nav
16
32
  requirement: !ruby/object:Gem::Requirement