warder 0.1.9 → 0.2.0

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: fa1b7987c99ad8cf2604107128ccd99782e45c12
4
- data.tar.gz: 4b4d69c9f4ee52ebacc2ef3ad527683c39f3810b
3
+ metadata.gz: 6864cd08d2a76c8a2c51ecdb037e6e8d13e87129
4
+ data.tar.gz: 5790790a28e5193ab6180f1dbcb40cfa9b609e47
5
5
  SHA512:
6
- metadata.gz: 2674a2ddc82c53b9229ef1b331ebeb558f943ee4c56860ace62557dceb6ba2820337540805833a0328e89ae5467a8805c10124af4d766baee95ee131bbdd210f
7
- data.tar.gz: 6c0b57645a65c574aad1cc6cd219b9df2220a273dba80cb55be1d150ead5176573afeec99f7fc8f7b1653155c3d9bc7e2e28e47bd55b685e7652cf656998cefe
6
+ metadata.gz: f7c4dc3d3aea2b64a9f78f51996b426529ce3fe30960cd4f1d8f9f087593da29a02fd2e11e2633c8c620aa4686c53e2a5a2fcf0471bf0f427c190fc137c96068
7
+ data.tar.gz: ce2a25f8aa19568f93e373f4e355344f57b36d96746be887169a8de0599fe136e8211a127ecf1521365c0d14fb461ce13f4689729e611eacadda976ffafb3e44
data/.travis.yml CHANGED
@@ -2,6 +2,7 @@ language: ruby
2
2
  rvm:
3
3
  - 2.0
4
4
  - 2.1
5
+ - 2.2
5
6
  gemfile:
6
7
  - Gemfile
7
8
  script:
@@ -0,0 +1,10 @@
1
+ Feature: run warder in quiet mode
2
+ In order to silent validators output
3
+ As a ruby developer
4
+ I want to run warder with --quiet option
5
+
6
+ Scenario: run warder with enabled quiet option
7
+ Given I have valid file in directory
8
+ When I run `warder --quiet --magick-numbers`
9
+ Then warder detects no magick numbers issues
10
+ And the exit status should be 0
@@ -0,0 +1,22 @@
1
+ Feature: run warder in statistics mode
2
+ In order to get results
3
+ As a ruby developer
4
+ I want to run warder with --stats option
5
+
6
+ Scenario: run warder with enabled stats option
7
+ Given I have valid file in directory
8
+ When I run `warder --stats --magick-numbers`
9
+ Then 0 magick numbers stats should be printed
10
+ And the exit status should be 0
11
+
12
+ Scenario: run warder with enabled stats option on invalid rails app
13
+ Given I have invalid_rails_app project in directory
14
+ When I run `warder --stats --sandi-rules`
15
+ Then the output should contain "broken 3 out of 4 sandi rules"
16
+ And the exit status should be 1
17
+
18
+ Scenario: run warder with disabled stats option
19
+ Given I have valid file in directory
20
+ When I run `warder --no-stats --code-complexity`
21
+ Then 0 code complexity stats should not be printed
22
+ And the exit status should be 0
@@ -1,5 +1,5 @@
1
1
  def rails_best_practices_cmd
2
- 'rails_best_practices --silent --spec --test --features .'
2
+ 'rails_best_practices --without-color --silent --spec --test --features .'
3
3
  end
4
4
 
5
5
  def executing_rails_best_practices
@@ -8,4 +8,7 @@ end
8
8
 
9
9
  def rails_best_practices_output
10
10
  `cd tmp/aruba/#{@projectname}/ && #{rails_best_practices_cmd}`
11
+ .split("\n")
12
+ .reject { |line| line.match(/Found \d+ warnings/) }
13
+ .join("\n")
11
14
  end
@@ -3,9 +3,10 @@ def executing_rails_security
3
3
  end
4
4
 
5
5
  def rails_security_output
6
+ regexp = Warder::RailsSecurityRunner::PRINTABLE_REGEXP
6
7
  `cd tmp/aruba/#{@projectname}/ && brakeman -q -p .`
7
8
  .split("\n")
8
- .reject { |line| !line.match(/^\+|\|/) }
9
+ .reject { |line| !regexp.match(line) }
9
10
  .join("\n")
10
11
  end
11
12
 
@@ -1,11 +1,14 @@
1
1
  def executing_gem_freshness
2
- "executing 'bundle-audit update; (cd . && bundle-audit check)'"
2
+ "executing 'bundle-audit update &> /dev/null && (cd . && bundle-audit check)'"
3
3
  end
4
4
 
5
5
  def gem_freshness_output
6
6
  if @projectname
7
7
  prep = "cd spec/fixtures/#{@projectname}/ && cp Gemfile_lock Gemfile.lock"
8
8
  `#{prep} && bundle-audit check; rm -f Gemfile.lock`
9
+ .split("\n")
10
+ .reject { |line| line.match('patched versions found') }
11
+ .join("\n")
9
12
  else
10
13
  fail NotImplementedError
11
14
  end
@@ -6,6 +6,6 @@ def code_complexity_output
6
6
  raw_output = command_output_for_project_or_file('flog -a -c -g -m')
7
7
  raw_output.split("\n").reject do |line|
8
8
  /total|average/.match(line) ||
9
- Warder::CodeComplexityRunner::FLOG_SCORE > line.to_i
9
+ Warder::CodeComplexityRunner::FAILURE_THRESHOLD > line.to_i
10
10
  end.join("\n")
11
11
  end
@@ -16,13 +16,13 @@ Then(/^warder does nothing$/) do
16
16
  step 'the output should match /.{0}/'
17
17
  end
18
18
 
19
- Then(/^warder detects (.+) (issues|violations)$/) do |what, _|
19
+ Then(/^warder detects( no)? (.+) (issues|violations)$/) do |no, what, _|
20
20
  executing_output = send(:"executing_#{what.gsub(' ', '_')}")
21
- step "the output should contain \"#{executing_output}\""
21
+ step "the output should#{' not' if no} contain \"#{executing_output}\""
22
22
 
23
23
  validation_output = send(:"#{what.gsub(' ', '_')}_output")
24
24
  validation_output.split("\n").each do |string|
25
- step "the output should contain \"#{string}\""
25
+ step "the output should#{' not' if no} contain \"#{string}\""
26
26
  end
27
27
  end
28
28
 
@@ -0,0 +1,4 @@
1
+ Given(/^(\d+) (.+) stats should( not)? be printed$/) do |number, what, no|
2
+ string = "found #{number} #{what} issues"
3
+ step "the output should#{no} contain \"#{string}\""
4
+ end
@@ -1,7 +1,7 @@
1
1
  def executing_style_guide
2
- "executing 'rubocop --no-color .'"
2
+ "executing 'rubocop --no-color --format clang .'"
3
3
  end
4
4
 
5
5
  def style_guide_output
6
- command_output_for_project_or_file('rubocop')
6
+ command_output_for_project_or_file('rubocop --no-color --format clang')
7
7
  end
@@ -5,17 +5,27 @@ module Warder
5
5
  CLI_FULL_OPTION = 'bundle-audit'
6
6
  DESCRIPTION = 'Run bundle freshness validation'
7
7
  COMMAND_NAME = 'bundle-audit'
8
- FAILURE_REGEXP = /Unpatched versions found!/
8
+ FAILURE_REGEXP = /(No u|U)npatched versions found/
9
9
 
10
10
  private
11
11
 
12
+ attr_reader :stats_msg
13
+
12
14
  def command_with_options
13
15
  path = @options.files.split(' ').first
14
- "#{COMMAND_NAME} update; (cd #{path} && #{COMMAND_NAME} check)"
16
+ "#{COMMAND_NAME} update &> /dev/null && "\
17
+ "(cd #{path} && #{COMMAND_NAME} check)"
18
+ end
19
+
20
+ def number_of_issues(line)
21
+ match = FAILURE_REGEXP.match(line)
22
+ return 0 unless match
23
+ @stats_msg = line
24
+ match[1].match('No ') ? 0 : 1
15
25
  end
16
26
 
17
- def failed?(line)
18
- FAILURE_REGEXP.match(line)
27
+ def printable?(line)
28
+ super && !FAILURE_REGEXP.match(line)
19
29
  end
20
30
  end
21
31
  end
@@ -21,6 +21,8 @@ module Warder
21
21
 
22
22
  def parse_options
23
23
  OptionParser.new do |opts|
24
+ quiet(opts)
25
+ stats(opts)
24
26
  combined(opts)
25
27
  validators(opts)
26
28
  end.parse!(@argv)
@@ -44,6 +46,18 @@ module Warder
44
46
  end
45
47
  end
46
48
 
49
+ def quiet(opts)
50
+ opts.on('-q', '--quiet', 'Do not echo validators output.') do
51
+ @options['quiet'] = true
52
+ end
53
+ end
54
+
55
+ def stats(opts)
56
+ opts.on('-t', '--[no-]stats', 'Print statistics.') do |value|
57
+ @options['stats'] = value
58
+ end
59
+ end
60
+
47
61
  def all(opts)
48
62
  opts.on('-A', '--all', 'Run all validators') do |value|
49
63
  all_validators(value)
@@ -5,8 +5,8 @@ module Warder
5
5
  CLI_FULL_OPTION = 'code-complexity'
6
6
  DESCRIPTION = 'Run code complexity validation'
7
7
  COMMAND_NAME = 'flog'
8
- FLOG_SCORE = SCORE
9
- FAILURE_REGEXP = /^\s+(\d+.\d+)\:\s.*$/
8
+ FAILURE_THRESHOLD = SCORE
9
+ FAILURE_REGEXP = /^\s+(?<issues>\d+.\d+)\:\s.*$/
10
10
  TOTAL_REGEXP = /^\s+\d+.\d+\:.*(total|average)$/
11
11
 
12
12
  private
@@ -15,14 +15,17 @@ module Warder
15
15
  "#{COMMAND_NAME} -a -c -g -m #{@options.files}"
16
16
  end
17
17
 
18
+ def number_of_issues(line)
19
+ return 0 if total?(line)
20
+ super
21
+ end
22
+
18
23
  def failed?(line)
19
- match = FAILURE_REGEXP.match(line)
20
- return false if total?(line)
21
- match && match[1].to_f > FLOG_SCORE
24
+ number_of_issues(line) != 0
22
25
  end
23
26
 
24
27
  def printable?(line)
25
- failed?(line)
28
+ super && failed?(line)
26
29
  end
27
30
 
28
31
  def total?(line)
@@ -6,7 +6,7 @@ module Warder
6
6
  DESCRIPTION = 'Run code duplication validation'
7
7
  COMMAND_NAME = 'flay'
8
8
  FLAY_SCORE = SCORE / 2
9
- FAILURE_REGEXP = /Total score \(lower is better\) = (\d+)/
9
+ FAILURE_REGEXP = /code found in :\w+ \(mass(\*\d+)? = (?<issues>\d+)\)/
10
10
 
11
11
  private
12
12
 
@@ -5,6 +5,6 @@ module Warder
5
5
  CLI_FULL_OPTION = 'code-smells'
6
6
  DESCRIPTION = 'Run code smells validation'
7
7
  COMMAND_NAME = 'reek --no-color'
8
- FAILURE_REGEXP = /(\d+) warnings?/
8
+ FAILURE_REGEXP = /(?<issues>\d+) warnings?/
9
9
  end
10
10
  end
@@ -8,8 +8,8 @@ module Warder
8
8
 
9
9
  private
10
10
 
11
- def failed?(*)
12
- true
11
+ def number_of_issues(_line)
12
+ 1
13
13
  end
14
14
  end
15
15
  end
@@ -5,13 +5,20 @@ module Warder
5
5
  CLI_FULL_OPTION = 'rails-advice'
6
6
  DESCRIPTION = 'Run rails best practices validation'
7
7
  COMMAND_NAME = 'rails_best_practices'
8
- FAILURE_REGEXP = /Found (\d+) warnings?/
8
+ COMMAND_OPTIONS = '--without-color --silent --spec --test --features'
9
+ FAILURE_REGEXP = /Found (?<issues>\d+) warnings?/
9
10
 
10
11
  private
11
12
 
13
+ attr_reader :stats_msg
14
+
12
15
  def command_with_options
13
16
  path = @options.files.split(' ').first
14
- "#{COMMAND_NAME} --silent --spec --test --features #{path}"
17
+ "#{COMMAND_NAME} #{COMMAND_OPTIONS} #{path}"
18
+ end
19
+
20
+ def printable?(line)
21
+ super && !FAILURE_REGEXP.match(line)
15
22
  end
16
23
  end
17
24
  end
@@ -5,8 +5,9 @@ module Warder
5
5
  CLI_FULL_OPTION = 'rails-security'
6
6
  DESCRIPTION = 'Run rails security validation'
7
7
  COMMAND_NAME = 'brakeman'
8
- FAILURE_REGEXP = /^\| Security Warnings \| (\d)+/
9
- PRINTABLE_REGEXP = /^(\+|\||View Warnings:)/
8
+ FAILURE_REGEXP = /^\| (High|Medium|Weak)/
9
+ PRINTABLE_REGEXP =
10
+ /(\| Confidence)|(\| High)|(\| Medium)|(\| Weak)|(\+------------\+)/
10
11
 
11
12
  private
12
13
 
@@ -16,7 +17,11 @@ module Warder
16
17
  end
17
18
 
18
19
  def printable?(line)
19
- PRINTABLE_REGEXP.match(line)
20
+ super && PRINTABLE_REGEXP.match(line)
21
+ end
22
+
23
+ def number_of_issues(line)
24
+ FAILURE_REGEXP.match(line) ? 1 : 0
20
25
  end
21
26
  end
22
27
  end
data/lib/warder/runner.rb CHANGED
@@ -7,38 +7,61 @@ module Warder
7
7
  def initialize(stdout, options = {})
8
8
  @stdout = stdout
9
9
  @options = options
10
- @exit_code = 0
10
+ @issues = 0
11
11
  end
12
12
 
13
13
  def perform
14
14
  run_command do |line|
15
+ @issues += number_of_issues(line)
15
16
  @stdout.puts(line) if printable?(line)
16
- @exit_code = 1 if failed?(line)
17
17
  end
18
- @exit_code
18
+ @issues > 0 ? 1 : 0
19
19
  end
20
20
 
21
21
  private
22
22
 
23
23
  def run_command
24
- @stdout.puts "executing '#{command_with_options}'\n"
24
+ @stdout.puts(exec_msg) unless quiet?
25
25
  IO.popen(command_with_options).each do |line|
26
26
  yield(line)
27
27
  end
28
+ @stdout.puts(stats_msg) if stats?
29
+ end
30
+
31
+ def exec_msg
32
+ "executing '#{command_with_options}'\n"
33
+ end
34
+
35
+ def stats_msg
36
+ "found #{@issues.to_i} #{klass::CLI_FULL_OPTION.sub('-', ' ')} issues\n"
28
37
  end
29
38
 
30
39
  def command_with_options
31
40
  "#{self.class::COMMAND_NAME} #{@options.files}"
32
41
  end
33
42
 
34
- def failed?(line)
35
- klass = self.class
43
+ def number_of_issues(line)
36
44
  match = klass::FAILURE_REGEXP.match(line)
37
- match && match[1].to_i != klass::FAILURE_THRESHOLD
45
+ return 0 unless match
46
+ issues = match[:issues].to_i
47
+ return 0 unless issues > klass::FAILURE_THRESHOLD
48
+ issues
49
+ end
50
+
51
+ def printable?(_line)
52
+ !quiet?
53
+ end
54
+
55
+ def quiet?
56
+ @options['quiet']
57
+ end
58
+
59
+ def stats?
60
+ @options['stats']
38
61
  end
39
62
 
40
- def printable?(*)
41
- true
63
+ def klass
64
+ self.class
42
65
  end
43
66
  end
44
67
  end
@@ -5,7 +5,7 @@ module Warder
5
5
  CLI_FULL_OPTION = 'sandi-rules'
6
6
  DESCRIPTION = 'Run Sandi Metz rules validation'
7
7
  COMMAND_NAME = 'sandi_meter'
8
- FAILURE_REGEXP = /\d\. (\d+)%/
8
+ FAILURE_REGEXP = /\d\. (?<percentage>\d+)%/
9
9
  FAILURE_THRESHOLD = 100
10
10
 
11
11
  private
@@ -14,5 +14,16 @@ module Warder
14
14
  path = @options.files.split(' ').first
15
15
  "#{COMMAND_NAME} -d -p #{path}"
16
16
  end
17
+
18
+ def number_of_issues(line)
19
+ match = klass::FAILURE_REGEXP.match(line)
20
+ return 0 unless match
21
+ percentage = match[:percentage].to_i
22
+ klass::FAILURE_THRESHOLD > percentage ? 1 : 0
23
+ end
24
+
25
+ def stats_msg
26
+ "broken #{@issues.to_i} out of 4 #{CLI_FULL_OPTION.sub('-', ' ')}\n"
27
+ end
17
28
  end
18
29
  end
@@ -4,7 +4,7 @@ module Warder
4
4
  CLI_OPTION = 'g'
5
5
  CLI_FULL_OPTION = 'style-guide'
6
6
  DESCRIPTION = 'Run style guide validation'
7
- COMMAND_NAME = 'rubocop --no-color'
8
- FAILURE_REGEXP = /(\d+|no) offense/
7
+ COMMAND_NAME = 'rubocop --no-color --format clang'
8
+ FAILURE_REGEXP = /(?<issues>\d+|no) offense/
9
9
  end
10
10
  end
@@ -1,4 +1,4 @@
1
1
  # define warder version
2
2
  module Warder
3
- VERSION = '0.1.9'
3
+ VERSION = '0.2.0'
4
4
  end
@@ -1,5 +1,5 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'rails', '~> 4.0.4'
3
+ gem 'rails', '~> 4.2.0'
4
4
 
5
5
  gem 'sqlite3'
@@ -1,80 +1,106 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- actionmailer (4.0.5)
5
- actionpack (= 4.0.5)
6
- mail (~> 2.5.4)
7
- actionpack (4.0.5)
8
- activesupport (= 4.0.5)
9
- builder (~> 3.1.0)
10
- erubis (~> 2.7.0)
11
- rack (~> 1.5.2)
4
+ actionmailer (4.2.0)
5
+ actionpack (= 4.2.0)
6
+ actionview (= 4.2.0)
7
+ activejob (= 4.2.0)
8
+ mail (~> 2.5, >= 2.5.4)
9
+ rails-dom-testing (~> 1.0, >= 1.0.5)
10
+ actionpack (4.2.0)
11
+ actionview (= 4.2.0)
12
+ activesupport (= 4.2.0)
13
+ rack (~> 1.6.0)
12
14
  rack-test (~> 0.6.2)
13
- activemodel (4.0.5)
14
- activesupport (= 4.0.5)
15
- builder (~> 3.1.0)
16
- activerecord (4.0.5)
17
- activemodel (= 4.0.5)
18
- activerecord-deprecated_finders (~> 1.0.2)
19
- activesupport (= 4.0.5)
20
- arel (~> 4.0.0)
21
- activerecord-deprecated_finders (1.0.3)
22
- activesupport (4.0.5)
23
- i18n (~> 0.6, >= 0.6.9)
24
- minitest (~> 4.2)
25
- multi_json (~> 1.3)
26
- thread_safe (~> 0.1)
27
- tzinfo (~> 0.3.37)
28
- arel (4.0.2)
29
- builder (3.1.4)
15
+ rails-dom-testing (~> 1.0, >= 1.0.5)
16
+ rails-html-sanitizer (~> 1.0, >= 1.0.1)
17
+ actionview (4.2.0)
18
+ activesupport (= 4.2.0)
19
+ builder (~> 3.1)
20
+ erubis (~> 2.7.0)
21
+ rails-dom-testing (~> 1.0, >= 1.0.5)
22
+ rails-html-sanitizer (~> 1.0, >= 1.0.1)
23
+ activejob (4.2.0)
24
+ activesupport (= 4.2.0)
25
+ globalid (>= 0.3.0)
26
+ activemodel (4.2.0)
27
+ activesupport (= 4.2.0)
28
+ builder (~> 3.1)
29
+ activerecord (4.2.0)
30
+ activemodel (= 4.2.0)
31
+ activesupport (= 4.2.0)
32
+ arel (~> 6.0)
33
+ activesupport (4.2.0)
34
+ i18n (~> 0.7)
35
+ json (~> 1.7, >= 1.7.7)
36
+ minitest (~> 5.1)
37
+ thread_safe (~> 0.3, >= 0.3.4)
38
+ tzinfo (~> 1.1)
39
+ arel (6.0.0)
40
+ builder (3.2.2)
30
41
  erubis (2.7.0)
42
+ globalid (0.3.0)
43
+ activesupport (>= 4.1.0)
31
44
  hike (1.2.3)
32
- i18n (0.6.9)
33
- mail (2.5.4)
34
- mime-types (~> 1.16)
35
- treetop (~> 1.4.8)
36
- mime-types (1.25.1)
37
- minitest (4.7.5)
38
- multi_json (1.9.2)
39
- polyglot (0.3.4)
40
- rack (1.5.2)
41
- rack-test (0.6.2)
45
+ i18n (0.7.0)
46
+ json (1.8.2)
47
+ loofah (2.0.1)
48
+ nokogiri (>= 1.5.9)
49
+ mail (2.6.3)
50
+ mime-types (>= 1.16, < 3)
51
+ mime-types (2.4.3)
52
+ mini_portile (0.6.2)
53
+ minitest (5.5.1)
54
+ multi_json (1.10.1)
55
+ nokogiri (1.6.6.2)
56
+ mini_portile (~> 0.6.0)
57
+ rack (1.6.0)
58
+ rack-test (0.6.3)
42
59
  rack (>= 1.0)
43
- rails (4.0.5)
44
- actionmailer (= 4.0.5)
45
- actionpack (= 4.0.5)
46
- activerecord (= 4.0.5)
47
- activesupport (= 4.0.5)
60
+ rails (4.2.0)
61
+ actionmailer (= 4.2.0)
62
+ actionpack (= 4.2.0)
63
+ actionview (= 4.2.0)
64
+ activejob (= 4.2.0)
65
+ activemodel (= 4.2.0)
66
+ activerecord (= 4.2.0)
67
+ activesupport (= 4.2.0)
48
68
  bundler (>= 1.3.0, < 2.0)
49
- railties (= 4.0.5)
50
- sprockets-rails (~> 2.0.0)
51
- railties (4.0.5)
52
- actionpack (= 4.0.5)
53
- activesupport (= 4.0.5)
69
+ railties (= 4.2.0)
70
+ sprockets-rails
71
+ rails-deprecated_sanitizer (1.0.3)
72
+ activesupport (>= 4.2.0.alpha)
73
+ rails-dom-testing (1.0.5)
74
+ activesupport (>= 4.2.0.beta, < 5.0)
75
+ nokogiri (~> 1.6.0)
76
+ rails-deprecated_sanitizer (>= 1.0.1)
77
+ rails-html-sanitizer (1.0.1)
78
+ loofah (~> 2.0)
79
+ railties (4.2.0)
80
+ actionpack (= 4.2.0)
81
+ activesupport (= 4.2.0)
54
82
  rake (>= 0.8.7)
55
83
  thor (>= 0.18.1, < 2.0)
56
- rake (10.3.1)
57
- sprockets (2.12.1)
84
+ rake (10.4.2)
85
+ sprockets (2.12.3)
58
86
  hike (~> 1.2)
59
87
  multi_json (~> 1.0)
60
88
  rack (~> 1.0)
61
89
  tilt (~> 1.1, != 1.3.0)
62
- sprockets-rails (2.0.1)
90
+ sprockets-rails (2.2.4)
63
91
  actionpack (>= 3.0)
64
92
  activesupport (>= 3.0)
65
- sprockets (~> 2.8)
66
- sqlite3 (1.3.9)
93
+ sprockets (>= 2.8, < 4.0)
94
+ sqlite3 (1.3.10)
67
95
  thor (0.19.1)
68
- thread_safe (0.3.3)
96
+ thread_safe (0.3.4)
69
97
  tilt (1.4.1)
70
- treetop (1.4.15)
71
- polyglot
72
- polyglot (>= 0.3.1)
73
- tzinfo (0.3.39)
98
+ tzinfo (1.2.2)
99
+ thread_safe (~> 0.1)
74
100
 
75
101
  PLATFORMS
76
102
  ruby
77
103
 
78
104
  DEPENDENCIES
79
- rails (~> 4.0.5)
105
+ rails (~> 4.2.0)
80
106
  sqlite3
data/warder.gemspec CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
8
8
  spec.version = Warder::VERSION
9
9
  spec.authors = ['Yura Tolstik']
10
10
  spec.email = ['yltsrc@gmail.com']
11
- spec.description = %q(Warder of ruby code)
12
- spec.summary = %q(Tool to help improve the quality of ruby code)
11
+ spec.description = 'Warder of ruby code'
12
+ spec.summary = 'Tool to help improve the quality of ruby code'
13
13
  spec.homepage = 'https://github.com/yltsrc/warder'
14
14
  spec.license = 'MIT'
15
15
 
@@ -18,10 +18,10 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(/^(test|spec|features|cucumber)\//)
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_dependency 'rubocop', '~> 0.23'
22
- spec.add_dependency 'reek', '~> 1.3'
23
- spec.add_dependency 'flay', '~> 2.5'
24
- spec.add_dependency 'flog', '~> 4.2'
21
+ spec.add_dependency 'rubocop', '~> 0.28'
22
+ spec.add_dependency 'reek', '~> 1.6'
23
+ spec.add_dependency 'flay', '~> 2.5.0'
24
+ spec.add_dependency 'flog', '~> 4.3'
25
25
  spec.add_dependency 'mago', '~> 0.1'
26
26
  spec.add_dependency 'brakeman', '~> 2.6'
27
27
  spec.add_dependency 'rails_best_practices', '~> 1.15'
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.add_development_dependency 'bundler', '~> 1.3'
32
32
  spec.add_development_dependency 'rake', '~> 10.0'
33
33
  spec.add_development_dependency 'rspec', '~> 3.0'
34
- spec.add_development_dependency 'cucumber', '~> 1.3'
35
- spec.add_development_dependency 'aruba', '~> 0.5'
36
- spec.add_development_dependency 'simplecov', '~> 0.8'
34
+ spec.add_development_dependency 'cucumber', '~> 2.0.0.rc.3'
35
+ spec.add_development_dependency 'aruba', '~> 0.6'
36
+ spec.add_development_dependency 'simplecov', '~> 0.9'
37
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: warder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yura Tolstik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-09 00:00:00.000000000 Z
11
+ date: 2015-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -16,56 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.23'
19
+ version: '0.28'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.23'
26
+ version: '0.28'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: reek
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.3'
33
+ version: '1.6'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.3'
40
+ version: '1.6'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: flay
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '2.5'
47
+ version: 2.5.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '2.5'
54
+ version: 2.5.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: flog
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '4.2'
61
+ version: '4.3'
62
62
  type: :runtime
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: '4.2'
68
+ version: '4.3'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mago
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -184,42 +184,42 @@ dependencies:
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: '1.3'
187
+ version: 2.0.0.rc.3
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: '1.3'
194
+ version: 2.0.0.rc.3
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: aruba
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: '0.5'
201
+ version: '0.6'
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: '0.5'
208
+ version: '0.6'
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: simplecov
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: '0.8'
215
+ version: '0.9'
216
216
  type: :development
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: '0.8'
222
+ version: '0.9'
223
223
  description: Warder of ruby code
224
224
  email:
225
225
  - yltsrc@gmail.com
@@ -246,8 +246,10 @@ files:
246
246
  - features/detects_code_duplication.feature
247
247
  - features/detects_code_smells.feature
248
248
  - features/detects_magick_numbers.feature
249
+ - features/quiet.feature
249
250
  - features/run.feature
250
251
  - features/show_version.feature
252
+ - features/statistics.feature
251
253
  - features/step_definitions/checks_for_rails_best_practices_steps.rb
252
254
  - features/step_definitions/checks_for_rails_security_issues_steps.rb
253
255
  - features/step_definitions/checks_for_sandi_metz_rules_step.rb
@@ -258,6 +260,7 @@ files:
258
260
  - features/step_definitions/detects_magick_numbers_steps.rb
259
261
  - features/step_definitions/run_steps.rb
260
262
  - features/step_definitions/show_version_steps.rb
263
+ - features/step_definitions/statistics_steps.rb
261
264
  - features/step_definitions/validates_style_guide_steps.rb
262
265
  - features/support/env.rb
263
266
  - features/validates_style_guide.feature
@@ -349,7 +352,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
349
352
  version: '0'
350
353
  requirements: []
351
354
  rubyforge_project:
352
- rubygems_version: 2.2.2
355
+ rubygems_version: 2.4.5
353
356
  signing_key:
354
357
  specification_version: 4
355
358
  summary: Tool to help improve the quality of ruby code
@@ -364,8 +367,10 @@ test_files:
364
367
  - features/detects_code_duplication.feature
365
368
  - features/detects_code_smells.feature
366
369
  - features/detects_magick_numbers.feature
370
+ - features/quiet.feature
367
371
  - features/run.feature
368
372
  - features/show_version.feature
373
+ - features/statistics.feature
369
374
  - features/step_definitions/checks_for_rails_best_practices_steps.rb
370
375
  - features/step_definitions/checks_for_rails_security_issues_steps.rb
371
376
  - features/step_definitions/checks_for_sandi_metz_rules_step.rb
@@ -376,6 +381,7 @@ test_files:
376
381
  - features/step_definitions/detects_magick_numbers_steps.rb
377
382
  - features/step_definitions/run_steps.rb
378
383
  - features/step_definitions/show_version_steps.rb
384
+ - features/step_definitions/statistics_steps.rb
379
385
  - features/step_definitions/validates_style_guide_steps.rb
380
386
  - features/support/env.rb
381
387
  - features/validates_style_guide.feature