qparser 0.0.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.
data/qparser.gemspec ADDED
@@ -0,0 +1,25 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'qparser/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "qparser"
8
+ spec.version = Qparser::VERSION
9
+ spec.authors = ["Breno Moura"]
10
+ spec.email = ["basmoura@gmail.com"]
11
+ spec.summary = %q{Quake Log Parser}
12
+ spec.description = %q{Quake Log Parser by basmoura to eloquent}
13
+ spec.homepage = ""
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency 'prawn', '~> 1.0.0'
22
+
23
+ spec.add_development_dependency "bundler", "~> 1.5"
24
+ spec.add_development_dependency "rake"
25
+ end
@@ -0,0 +1,64 @@
1
+ require 'minitest/autorun'
2
+ require './lib/qparser/parser'
3
+
4
+ class ParserTest < Minitest::Test
5
+ def setup
6
+ @kill_regex = /(Kill):.*:.([<A-Za-z> ]*).(killed).([A-Za-z ]*).(by).(MOD[A-Z_]*)$/
7
+ @players = []
8
+ @kills_by_means = {}
9
+ @file = File.open('./log/games.log')
10
+ end
11
+
12
+ def test_load_file
13
+ assert true if !@file.nil?
14
+ end
15
+
16
+ def test_invalid_file_path
17
+ assert_raises Errno::ENOENT do
18
+ File.open('./log/game.log')
19
+ end
20
+ end
21
+
22
+ def test_get_players
23
+ @file.each do |line|
24
+ if line.match /n\\(.*)\\t\\0/
25
+ @players << $1 unless @players.include?($1)
26
+ end
27
+ end
28
+ refute_nil @players
29
+ end
30
+
31
+ def test_get_players_match_regex
32
+ @file.each do |line|
33
+ assert true, "Player find" if line.match /n\\(.*)\\t\\/
34
+ end
35
+ end
36
+
37
+ def test_get_kills_regex
38
+ @file.each do |line|
39
+ assert_match /Kill/i, "Kill"
40
+ end
41
+ end
42
+
43
+ def test_total_kills
44
+ total_kills = 0
45
+
46
+ @file.each do |line|
47
+ total_kills += 1 if line.match /Kill:/i
48
+ end
49
+ assert_operator total_kills, :>=, 0
50
+ end
51
+
52
+ def test_kills_by_means
53
+ @file.each do |line|
54
+ if line.match @kill_regex
55
+ if @kills_by_means.has_key?($6)
56
+ @kills_by_means[$6] += 1
57
+ else
58
+ @kills_by_means[$6] = 1
59
+ end
60
+ end
61
+ end
62
+ refute_nil @kills_by_means
63
+ end
64
+ end
@@ -0,0 +1,8 @@
1
+ require 'minitest/autorun'
2
+ require './lib/qparser'
3
+
4
+ class QparserTest < Minitest::Test
5
+ def test_parser_not_be_nil
6
+ refute_nil Qparser.load, "Can not be nil"
7
+ end
8
+ end
metadata ADDED
@@ -0,0 +1,103 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: qparser
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Breno Moura
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-04-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: prawn
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.0.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.0.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.5'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.5'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description: Quake Log Parser by basmoura to eloquent
56
+ email:
57
+ - basmoura@gmail.com
58
+ executables:
59
+ - qparser
60
+ extensions: []
61
+ extra_rdoc_files: []
62
+ files:
63
+ - ".gitignore"
64
+ - Gemfile
65
+ - LICENSE.txt
66
+ - README.md
67
+ - Rakefile
68
+ - bin/qparser
69
+ - lib/qparser.rb
70
+ - lib/qparser/parser.rb
71
+ - lib/qparser/parser_pdf.rb
72
+ - lib/qparser/version.rb
73
+ - log/games.log
74
+ - qparser.gemspec
75
+ - test/parser_test.rb
76
+ - test/qparser_test.rb
77
+ homepage: ''
78
+ licenses:
79
+ - MIT
80
+ metadata: {}
81
+ post_install_message:
82
+ rdoc_options: []
83
+ require_paths:
84
+ - lib
85
+ required_ruby_version: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ required_rubygems_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ requirements: []
96
+ rubyforge_project:
97
+ rubygems_version: 2.2.2
98
+ signing_key:
99
+ specification_version: 4
100
+ summary: Quake Log Parser
101
+ test_files:
102
+ - test/parser_test.rb
103
+ - test/qparser_test.rb