warder 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +29 -2
- data/bin/warder +22 -1
- data/cucumber.yml +4 -0
- data/features/detects_code_duplications.feature +22 -0
- data/features/detects_magick_numbers.feature +22 -0
- data/features/run.feature +9 -0
- data/features/step_definitions/detects_code_duplications_steps.rb +8 -0
- data/features/step_definitions/detects_magick_numbers_steps.rb +8 -0
- data/features/step_definitions/run_steps.rb +17 -0
- data/features/step_definitions/validates_style_guide_steps.rb +6 -0
- data/features/support/env.rb +4 -0
- data/features/validates_style_guide.feature +22 -0
- data/lib/warder.rb +4 -0
- data/lib/warder/cli.rb +42 -0
- data/lib/warder/code_duplication_runner.rb +22 -0
- data/lib/warder/magick_numbers_runner.rb +18 -0
- data/lib/warder/runner.rb +13 -14
- data/lib/warder/style_guide_runner.rb +20 -0
- data/lib/warder/version.rb +1 -1
- data/rubocop-todo.yml +18 -0
- data/spec/fixtures/invalid_code_duplications.rb +40 -0
- data/spec/fixtures/invalid_magick_numbers.rb +1 -0
- data/spec/fixtures/invalid_style_guide.rb +3 -0
- data/spec/fixtures/strictly_invalid_style_guide.rb +3 -0
- data/spec/fixtures/valid.rb +1 -0
- data/warder.gemspec +5 -2
- metadata +93 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 08b7e90e5910c5193dada4ec370cb0bf223bb9cc
|
4
|
+
data.tar.gz: 09733b69ddd83cb5581aa008f879fe3d2d091a18
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e602f21426ba7133738b82db52db9d20aeed3cceb2cd68d1ba5a2921be9cec2a0e96a20db2a1e8aaf56b9b7fa70b1307bd24a68cbfa797f2bc08cbe726909bbd
|
7
|
+
data.tar.gz: 2cc2b364e1172bf40ff8e031bd1a8f176e4cd78d31bd32761bda300236b3d0f55646ca844867fe4f8176a22268c83c2dc06bb822707242322bd7d7d0c71cbbf7
|
data/Rakefile
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'bundler/gem_tasks'
|
2
2
|
require 'rspec/core/rake_task'
|
3
|
+
require 'cucumber/rake/task'
|
3
4
|
|
4
5
|
namespace :spec do
|
5
6
|
desc 'Run specs that should pass'
|
@@ -10,17 +11,43 @@ namespace :spec do
|
|
10
11
|
|
11
12
|
desc 'Run specs that are being worked on'
|
12
13
|
RSpec::Core::RakeTask.new(:wip) do |t|
|
13
|
-
t.rspec_opts = '--tag wip'
|
14
|
+
t.rspec_opts = '--color --tag wip'
|
14
15
|
t.pattern = './spec/**/*_spec.rb'
|
15
16
|
end
|
16
17
|
|
17
18
|
desc 'Run all specs'
|
18
19
|
RSpec::Core::RakeTask.new(:all) do |t|
|
20
|
+
t.rspec_opts = '--color'
|
19
21
|
t.pattern = './spec/**/*_spec.rb'
|
20
22
|
end
|
21
23
|
end
|
22
24
|
|
25
|
+
namespace :cucumber do
|
26
|
+
desc 'Run features that should pass'
|
27
|
+
Cucumber::Rake::Task.new(:ok) do |t|
|
28
|
+
t.fork = true # You may get faster startup if you set this to false
|
29
|
+
t.profile = 'ok'
|
30
|
+
end
|
31
|
+
|
32
|
+
desc 'Run features that are being worked on'
|
33
|
+
Cucumber::Rake::Task.new(:wip) do |t|
|
34
|
+
t.fork = true # You may get faster startup if you set this to false
|
35
|
+
t.profile = 'wip'
|
36
|
+
end
|
37
|
+
|
38
|
+
desc 'Run all features'
|
39
|
+
Cucumber::Rake::Task.new(:all) do |t|
|
40
|
+
t.fork = true # You may get faster startup if you set this to false
|
41
|
+
t.profile = 'default'
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
desc 'Alias for cucumber:ok'
|
46
|
+
task :cucumber => 'cucumber:ok'
|
47
|
+
|
23
48
|
desc 'Alias for spec:ok'
|
24
49
|
task :spec => 'spec:ok'
|
25
50
|
|
26
|
-
task :
|
51
|
+
task :wip => %w(spec:wip cucumber:wip)
|
52
|
+
task :all => %w(spec:all cucumber:all)
|
53
|
+
task :default => %w(spec cucumber)
|
data/bin/warder
CHANGED
@@ -1,5 +1,26 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
+
$LOAD_PATH.unshift(File.expand_path('../../lib', __FILE__))
|
4
|
+
|
5
|
+
require 'optparse'
|
3
6
|
require 'warder'
|
4
7
|
|
5
|
-
|
8
|
+
options = {}
|
9
|
+
OptionParser.new do |opts|
|
10
|
+
desc = 'Run style guide validation'
|
11
|
+
opts.on('-s', '--[no-]style-guide', desc) do |value|
|
12
|
+
options[:style_guide] = value
|
13
|
+
end
|
14
|
+
|
15
|
+
desc = 'Run magick numbers validation'
|
16
|
+
opts.on('-n', '--[no-]magick-numbers', desc) do |value|
|
17
|
+
options[:magick_numbers] = value
|
18
|
+
end
|
19
|
+
|
20
|
+
desc = 'Run code duplication validation'
|
21
|
+
opts.on('-d', '--[no-]code-duplications', desc) do |value|
|
22
|
+
options[:code_duplications] = value
|
23
|
+
end
|
24
|
+
end.parse!
|
25
|
+
|
26
|
+
Warder::CLI.new(options).perform
|
data/cucumber.yml
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Feature: detects code duplications
|
2
|
+
In order to find code duplications
|
3
|
+
As a ruby developer
|
4
|
+
I want to run warder with --code-duplications option
|
5
|
+
|
6
|
+
Scenario: run warder with enabled code duplications option
|
7
|
+
Given I have valid file in directory
|
8
|
+
When I run `warder --code-duplications`
|
9
|
+
Then warder detects code duplications
|
10
|
+
Then the exit status should be 0
|
11
|
+
|
12
|
+
Scenario: run warder with enabled code duplications option on invalid file
|
13
|
+
Given I have invalid_code_duplications file in directory
|
14
|
+
When I run `warder --code-duplications`
|
15
|
+
Then warder detects code duplications
|
16
|
+
Then the exit status should be 1
|
17
|
+
|
18
|
+
Scenario: run warder with disabled code duplications option on invalid file
|
19
|
+
Given I have invalid_magick_numbers file in directory
|
20
|
+
When I run `warder --no-code-duplications`
|
21
|
+
Then warder does nothing
|
22
|
+
Then the exit status should be 0
|
@@ -0,0 +1,22 @@
|
|
1
|
+
Feature: detects magick numbers
|
2
|
+
In order to find magick numbers
|
3
|
+
As a ruby developer
|
4
|
+
I want to run warder with --magick-numbers option
|
5
|
+
|
6
|
+
Scenario: run warder with enabled magick numbers option
|
7
|
+
Given I have valid file in directory
|
8
|
+
When I run `warder --magick-numbers`
|
9
|
+
Then warder detects magick numbers
|
10
|
+
Then the exit status should be 0
|
11
|
+
|
12
|
+
Scenario: run warder with enabled magick numbers option on invalid file
|
13
|
+
Given I have invalid_magick_numbers file in directory
|
14
|
+
When I run `warder --magick-numbers`
|
15
|
+
Then warder detects magick numbers
|
16
|
+
Then the exit status should be 1
|
17
|
+
|
18
|
+
Scenario: run warder with disabled style guide option on invalid file
|
19
|
+
Given I have invalid_magick_numbers file in directory
|
20
|
+
When I run `warder --no-magick-numbers`
|
21
|
+
Then warder does nothing
|
22
|
+
Then the exit status should be 0
|
@@ -0,0 +1,8 @@
|
|
1
|
+
Then(/^warder detects code duplications$/) do
|
2
|
+
executing_flay_output = "executing 'flay -d -m 15 .'"
|
3
|
+
success_flay_output = `flay -d spec/fixtures/#{@filename}`
|
4
|
+
step "the output should contain \"#{executing_flay_output}\""
|
5
|
+
success_flay_output.split("\n").each do |string|
|
6
|
+
step "the output should contain \"#{string.sub('spec/fixtures/', './')}\""
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
Then(/^warder detects magick numbers$/) do
|
2
|
+
executing_mago_output = "executing 'mago'"
|
3
|
+
success_mago_output = `mago spec/fixtures/#{@filename}`
|
4
|
+
step "the output should contain \"#{executing_mago_output}\""
|
5
|
+
success_mago_output.split("\n").each do |string|
|
6
|
+
step "the output should contain \"#{string.sub('spec/fixtures/', './')}\""
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
Before do
|
2
|
+
FileUtils.mkdir_p 'tmp/aruba'
|
3
|
+
end
|
4
|
+
|
5
|
+
After do
|
6
|
+
FileUtils.rm_rf 'tmp/aruba'
|
7
|
+
end
|
8
|
+
|
9
|
+
Given(/^I have (\w+) file in directory$/) do |name|
|
10
|
+
@filename = "#{name}.rb"
|
11
|
+
FileUtils.ln_s "../../spec/fixtures/#{@filename}", 'tmp/aruba/'
|
12
|
+
expect(`ls tmp/aruba`).to match(@filename)
|
13
|
+
end
|
14
|
+
|
15
|
+
Then(/^warder does nothing$/) do
|
16
|
+
step 'the output should match /.{0}/'
|
17
|
+
end
|
@@ -0,0 +1,6 @@
|
|
1
|
+
Then(/^warder validates style guide$/) do
|
2
|
+
executing_rubocop_output = "executing 'rubocop'"
|
3
|
+
success_rubocop_output = `rubocop spec/fixtures/#{@filename} | grep offence`
|
4
|
+
step "the output should contain \"#{executing_rubocop_output}\""
|
5
|
+
step "the output should contain \"#{success_rubocop_output}\""
|
6
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
Feature: check style guide
|
2
|
+
In order to check style guide
|
3
|
+
As a ruby developer
|
4
|
+
I want to run warder with --style-guide option
|
5
|
+
|
6
|
+
Scenario: run warder with enabled style guide option
|
7
|
+
Given I have valid file in directory
|
8
|
+
When I run `warder --style-guide`
|
9
|
+
Then warder validates style guide
|
10
|
+
Then the exit status should be 0
|
11
|
+
|
12
|
+
Scenario: run warder with enabled style guide option on invalid file
|
13
|
+
Given I have invalid_style_guide file in directory
|
14
|
+
When I run `warder --style-guide`
|
15
|
+
Then warder validates style guide
|
16
|
+
Then the exit status should be 1
|
17
|
+
|
18
|
+
Scenario: run warder with disabled style guide option on invalid file
|
19
|
+
Given I have invalid_style_guide file in directory
|
20
|
+
When I run `warder --no-style-guide`
|
21
|
+
Then warder does nothing
|
22
|
+
Then the exit status should be 0
|
data/lib/warder.rb
CHANGED
data/lib/warder/cli.rb
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
module Warder
|
2
|
+
# responsible for executing warder tools
|
3
|
+
class CLI
|
4
|
+
def initialize(options)
|
5
|
+
@options = options
|
6
|
+
end
|
7
|
+
|
8
|
+
def perform
|
9
|
+
exit perform_style_guide_validation + perform_magick_numbers_validation +
|
10
|
+
perform_code_duplication_validation
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def perform_style_guide_validation
|
16
|
+
if @options[:style_guide]
|
17
|
+
runner = StyleGuideRunner.new(@options)
|
18
|
+
runner.perform
|
19
|
+
else
|
20
|
+
0
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def perform_magick_numbers_validation
|
25
|
+
if @options[:magick_numbers]
|
26
|
+
runner = MagickNumbersRunner.new(@options)
|
27
|
+
runner.perform
|
28
|
+
else
|
29
|
+
0
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def perform_code_duplication_validation
|
34
|
+
if @options[:code_duplications]
|
35
|
+
runner = CodeDuplicationRunner.new(@options)
|
36
|
+
runner.perform
|
37
|
+
else
|
38
|
+
0
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Warder
|
2
|
+
# responsible for run magick numbers validation
|
3
|
+
class CodeDuplicationRunner < Runner
|
4
|
+
FLAY_SCORE = SCORE / 2
|
5
|
+
|
6
|
+
def initialize(options = {})
|
7
|
+
@options = options
|
8
|
+
end
|
9
|
+
|
10
|
+
private
|
11
|
+
|
12
|
+
def command
|
13
|
+
"flay -d -m #{FLAY_SCORE} ."
|
14
|
+
end
|
15
|
+
|
16
|
+
def failed?(line)
|
17
|
+
match = line.match(/Total score \(lower is better\) = (\d+)/)
|
18
|
+
|
19
|
+
match && match[1].to_i != 0
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Warder
|
2
|
+
# responsible for run magick numbers validation
|
3
|
+
class MagickNumbersRunner < Runner
|
4
|
+
def initialize(options = {})
|
5
|
+
@options = options
|
6
|
+
end
|
7
|
+
|
8
|
+
private
|
9
|
+
|
10
|
+
def command
|
11
|
+
'mago'
|
12
|
+
end
|
13
|
+
|
14
|
+
def failed?(line)
|
15
|
+
true
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/warder/runner.rb
CHANGED
@@ -1,24 +1,23 @@
|
|
1
1
|
module Warder
|
2
|
-
#
|
2
|
+
# abstract class for command runners
|
3
3
|
class Runner
|
4
|
-
|
5
|
-
exit rubocop.to_i + mago.to_i
|
6
|
-
end
|
7
|
-
|
8
|
-
private
|
9
|
-
|
10
|
-
def rubocop
|
11
|
-
system('rubocop')
|
12
|
-
$CHILD_STATUS
|
13
|
-
end
|
4
|
+
SCORE = 30
|
14
5
|
|
15
|
-
def
|
6
|
+
def perform
|
7
|
+
puts "executing '#{command}'\n"
|
16
8
|
code = 0
|
17
|
-
IO.popen(
|
9
|
+
IO.popen(command).each do |line|
|
18
10
|
print line
|
19
|
-
|
11
|
+
|
12
|
+
code = 1 if failed?(line)
|
20
13
|
end
|
21
14
|
code
|
22
15
|
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def failed?(line)
|
20
|
+
false
|
21
|
+
end
|
23
22
|
end
|
24
23
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Warder
|
2
|
+
# responsible for run style guide validation
|
3
|
+
class StyleGuideRunner < Runner
|
4
|
+
def initialize(options = {})
|
5
|
+
@options = options
|
6
|
+
end
|
7
|
+
|
8
|
+
private
|
9
|
+
|
10
|
+
def command
|
11
|
+
'rubocop'
|
12
|
+
end
|
13
|
+
|
14
|
+
def failed?(line)
|
15
|
+
match = line.match(/(\d+|no) offence/)
|
16
|
+
|
17
|
+
match && match[1].to_i != 0
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/lib/warder/version.rb
CHANGED
data/rubocop-todo.yml
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# This configuration was generated by `rubocop --auto-gen-config`.
|
2
|
+
# The point is for the user to remove these configuration records
|
3
|
+
# one by one as the offences are removed from the code base.
|
4
|
+
|
5
|
+
AssignmentInCondition:
|
6
|
+
Enabled: false
|
7
|
+
|
8
|
+
Documentation:
|
9
|
+
Enabled: false
|
10
|
+
|
11
|
+
EmptyLinesAroundBody:
|
12
|
+
Enabled: false
|
13
|
+
|
14
|
+
IfUnlessModifier:
|
15
|
+
Enabled: false
|
16
|
+
|
17
|
+
UselessAssignment:
|
18
|
+
Enabled: false
|
@@ -0,0 +1,40 @@
|
|
1
|
+
##
|
2
|
+
# I am a dog.
|
3
|
+
|
4
|
+
class Dog
|
5
|
+
def x
|
6
|
+
return 1
|
7
|
+
end
|
8
|
+
|
9
|
+
def w
|
10
|
+
return 2 + q
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def q
|
16
|
+
return 3
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
##
|
21
|
+
# I
|
22
|
+
# am
|
23
|
+
# a
|
24
|
+
# cat.
|
25
|
+
|
26
|
+
class Cat
|
27
|
+
def y
|
28
|
+
return 1
|
29
|
+
end
|
30
|
+
|
31
|
+
def z
|
32
|
+
return 2 + s
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def s
|
38
|
+
return 3
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
1 + 1 / 2
|
@@ -0,0 +1 @@
|
|
1
|
+
puts 'Hello world!'
|
data/warder.gemspec
CHANGED
@@ -15,16 +15,19 @@ Gem::Specification.new do |spec|
|
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
17
17
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
-
spec.test_files = spec.files.grep(%r{^(spec|features)/})
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features|cucumber)/})
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
21
|
spec.add_dependency 'rubocop'
|
22
22
|
# spec.add_dependency 'reek'
|
23
|
-
|
23
|
+
spec.add_dependency 'flay'
|
24
|
+
spec.add_dependency 'ruby2ruby'
|
24
25
|
# spec.add_dependency 'flog'
|
25
26
|
spec.add_dependency 'mago'
|
26
27
|
|
27
28
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
28
29
|
spec.add_development_dependency 'rake'
|
29
30
|
spec.add_development_dependency 'rspec', '3.0.0.beta1'
|
31
|
+
spec.add_development_dependency 'cucumber'
|
32
|
+
spec.add_development_dependency 'aruba'
|
30
33
|
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.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yura Tolstik
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubocop
|
@@ -24,6 +24,34 @@ dependencies:
|
|
24
24
|
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: flay
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: ruby2ruby
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
27
55
|
- !ruby/object:Gem::Dependency
|
28
56
|
name: mago
|
29
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,6 +108,34 @@ dependencies:
|
|
80
108
|
- - '='
|
81
109
|
- !ruby/object:Gem::Version
|
82
110
|
version: 3.0.0.beta1
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: cucumber
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: aruba
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - '>='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
83
139
|
description: Warder of ruby code
|
84
140
|
email:
|
85
141
|
- yltsrc@gmail.com
|
@@ -94,9 +150,29 @@ files:
|
|
94
150
|
- README.md
|
95
151
|
- Rakefile
|
96
152
|
- bin/warder
|
153
|
+
- cucumber.yml
|
154
|
+
- features/detects_code_duplications.feature
|
155
|
+
- features/detects_magick_numbers.feature
|
156
|
+
- features/run.feature
|
157
|
+
- features/step_definitions/detects_code_duplications_steps.rb
|
158
|
+
- features/step_definitions/detects_magick_numbers_steps.rb
|
159
|
+
- features/step_definitions/run_steps.rb
|
160
|
+
- features/step_definitions/validates_style_guide_steps.rb
|
161
|
+
- features/support/env.rb
|
162
|
+
- features/validates_style_guide.feature
|
97
163
|
- lib/warder.rb
|
164
|
+
- lib/warder/cli.rb
|
165
|
+
- lib/warder/code_duplication_runner.rb
|
166
|
+
- lib/warder/magick_numbers_runner.rb
|
98
167
|
- lib/warder/runner.rb
|
168
|
+
- lib/warder/style_guide_runner.rb
|
99
169
|
- lib/warder/version.rb
|
170
|
+
- rubocop-todo.yml
|
171
|
+
- spec/fixtures/invalid_code_duplications.rb
|
172
|
+
- spec/fixtures/invalid_magick_numbers.rb
|
173
|
+
- spec/fixtures/invalid_style_guide.rb
|
174
|
+
- spec/fixtures/strictly_invalid_style_guide.rb
|
175
|
+
- spec/fixtures/valid.rb
|
100
176
|
- spec/spec_helper.rb
|
101
177
|
- warder.gemspec
|
102
178
|
homepage: https://github.com/yltsrc/warder
|
@@ -119,9 +195,23 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
119
195
|
version: '0'
|
120
196
|
requirements: []
|
121
197
|
rubyforge_project:
|
122
|
-
rubygems_version: 2.
|
198
|
+
rubygems_version: 2.0.14
|
123
199
|
signing_key:
|
124
200
|
specification_version: 4
|
125
201
|
summary: Warder of ruby code
|
126
202
|
test_files:
|
203
|
+
- features/detects_code_duplications.feature
|
204
|
+
- features/detects_magick_numbers.feature
|
205
|
+
- features/run.feature
|
206
|
+
- features/step_definitions/detects_code_duplications_steps.rb
|
207
|
+
- features/step_definitions/detects_magick_numbers_steps.rb
|
208
|
+
- features/step_definitions/run_steps.rb
|
209
|
+
- features/step_definitions/validates_style_guide_steps.rb
|
210
|
+
- features/support/env.rb
|
211
|
+
- features/validates_style_guide.feature
|
212
|
+
- spec/fixtures/invalid_code_duplications.rb
|
213
|
+
- spec/fixtures/invalid_magick_numbers.rb
|
214
|
+
- spec/fixtures/invalid_style_guide.rb
|
215
|
+
- spec/fixtures/strictly_invalid_style_guide.rb
|
216
|
+
- spec/fixtures/valid.rb
|
127
217
|
- spec/spec_helper.rb
|