guideline 0.0.5 → 0.0.6
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/bin/guideline +2 -0
- data/guideline.gemspec +1 -0
- data/lib/guideline/checkers/unused_method_checker.rb +114 -0
- data/lib/guideline/runner.rb +1 -0
- data/lib/guideline/version.rb +1 -1
- data/lib/guideline/visitor.rb +8 -1
- data/lib/guideline.rb +1 -0
- data/spec/guideline/checkers/hard_tab_indent_checker_spec.rb +5 -5
- data/spec/guideline/checkers/hash_comma_checker_spec.rb +20 -6
- data/spec/guideline/checkers/long_line_checker_spec.rb +5 -5
- data/spec/guideline/checkers/long_method_checker_spec.rb +5 -5
- data/spec/guideline/checkers/unused_method_checker_spec.rb +73 -0
- data/spec/guideline/runner_spec.rb +27 -19
- data/spec/guideline/visitor_spec.rb +25 -1
- metadata +57 -14
data/bin/guideline
CHANGED
@@ -8,6 +8,7 @@ options = Runner.parse(ARGV)
|
|
8
8
|
|
9
9
|
checkers = CheckerFactory.new(
|
10
10
|
options[:config],
|
11
|
+
UnusedMethodChecker,
|
11
12
|
HashCommaChecker,
|
12
13
|
LongLineChecker,
|
13
14
|
LongMethodChecker,
|
@@ -15,5 +16,6 @@ checkers = CheckerFactory.new(
|
|
15
16
|
).create
|
16
17
|
|
17
18
|
visitor = Visitor.new(:only => ARGV[0], :checker => checkers)
|
19
|
+
visitor.prepare
|
18
20
|
visitor.visit
|
19
21
|
visitor.render
|
data/guideline.gemspec
CHANGED
@@ -0,0 +1,114 @@
|
|
1
|
+
require "code_analyzer"
|
2
|
+
|
3
|
+
module Guideline
|
4
|
+
class UnusedMethodChecker < Checker
|
5
|
+
def check(path)
|
6
|
+
definition_visitor.check(path.to_s, path.read)
|
7
|
+
report_unused_methods(path)
|
8
|
+
clear_definitions
|
9
|
+
end
|
10
|
+
|
11
|
+
def prepare(path)
|
12
|
+
call_visitor.check(path.to_s, path.read)
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def calls
|
18
|
+
@calls ||= []
|
19
|
+
end
|
20
|
+
|
21
|
+
def call_visitor
|
22
|
+
create_visitor(call_checker)
|
23
|
+
end
|
24
|
+
|
25
|
+
def call_checker
|
26
|
+
MethodCallChecker.new do |method_name|
|
27
|
+
calls << method_name
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def definitions
|
32
|
+
@definitions ||= []
|
33
|
+
end
|
34
|
+
|
35
|
+
def definition_visitor
|
36
|
+
create_visitor(definition_checker)
|
37
|
+
end
|
38
|
+
|
39
|
+
def definition_checker
|
40
|
+
MethodDefinitionChecker.new do |definition|
|
41
|
+
definitions << definition
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def create_visitor(checker)
|
46
|
+
CodeAnalyzer::CheckingVisitor::Default.new(checkers: [checker])
|
47
|
+
end
|
48
|
+
|
49
|
+
def report_unused_methods(path)
|
50
|
+
unused_methods.each do |method|
|
51
|
+
report(
|
52
|
+
:message => "Remove unused method <#{method.name}>",
|
53
|
+
:path => path,
|
54
|
+
:line => method.line
|
55
|
+
)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def unused_methods
|
60
|
+
definitions.reject do |method|
|
61
|
+
calls.include?(method.name)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def clear_definitions
|
66
|
+
definitions.clear
|
67
|
+
end
|
68
|
+
|
69
|
+
class MethodChecker < CodeAnalyzer::Checker
|
70
|
+
def initialize(*, &callback)
|
71
|
+
@callback = callback
|
72
|
+
super
|
73
|
+
end
|
74
|
+
|
75
|
+
def call(method)
|
76
|
+
@callback.call(method)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
class MethodDefinitionChecker < MethodChecker
|
81
|
+
interesting_files /.*\.rb/
|
82
|
+
interesting_nodes :def
|
83
|
+
|
84
|
+
add_callback :start_def do |node|
|
85
|
+
definition = Definition.new(:line => node.line, :name => node.method_name.to_s)
|
86
|
+
call(definition)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
class MethodCallChecker < MethodChecker
|
91
|
+
interesting_files /.*\.rb/
|
92
|
+
interesting_nodes :call, :fcall, :vcall, :var_ref
|
93
|
+
|
94
|
+
add_callback :start_call do |node|
|
95
|
+
call(node.message.to_s)
|
96
|
+
end
|
97
|
+
|
98
|
+
add_callback :start_fcall do |node|
|
99
|
+
call(node.message.to_s)
|
100
|
+
end
|
101
|
+
|
102
|
+
add_callback :start_vcall do |node|
|
103
|
+
call(node.to_s)
|
104
|
+
end
|
105
|
+
|
106
|
+
add_callback :start_var_ref do |node|
|
107
|
+
call(node.to_s)
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
class Definition < OpenStruct
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
data/lib/guideline/runner.rb
CHANGED
data/lib/guideline/version.rb
CHANGED
data/lib/guideline/visitor.rb
CHANGED
data/lib/guideline.rb
CHANGED
@@ -8,11 +8,11 @@ module Guideline
|
|
8
8
|
end
|
9
9
|
|
10
10
|
let(:path) do
|
11
|
-
mock(:each_line =>
|
11
|
+
mock(:each_line => script.each_line)
|
12
12
|
end
|
13
13
|
|
14
14
|
context "when there is hard tab indent" do
|
15
|
-
let(:
|
15
|
+
let(:script) do
|
16
16
|
<<-EOF
|
17
17
|
def foo
|
18
18
|
\t1
|
@@ -20,14 +20,14 @@ module Guideline
|
|
20
20
|
EOF
|
21
21
|
end
|
22
22
|
|
23
|
-
|
23
|
+
it "detects error" do
|
24
24
|
checker.check(path)
|
25
25
|
checker.should have_error
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
29
|
context "when there is no hard tab indent" do
|
30
|
-
let(:
|
30
|
+
let(:script) do
|
31
31
|
<<-EOF
|
32
32
|
def foo
|
33
33
|
1
|
@@ -35,7 +35,7 @@ module Guideline
|
|
35
35
|
EOF
|
36
36
|
end
|
37
37
|
|
38
|
-
|
38
|
+
it "does not detect error" do
|
39
39
|
checker.check(path)
|
40
40
|
checker.should_not have_error
|
41
41
|
end
|
@@ -23,7 +23,7 @@ module Guideline
|
|
23
23
|
EOF
|
24
24
|
end
|
25
25
|
|
26
|
-
|
26
|
+
it "does not detect error" do
|
27
27
|
should_not have_error
|
28
28
|
end
|
29
29
|
end
|
@@ -35,7 +35,7 @@ module Guideline
|
|
35
35
|
EOF
|
36
36
|
end
|
37
37
|
|
38
|
-
|
38
|
+
it "does not detect error" do
|
39
39
|
should_not have_error
|
40
40
|
end
|
41
41
|
end
|
@@ -49,7 +49,21 @@ module Guideline
|
|
49
49
|
EOF
|
50
50
|
end
|
51
51
|
|
52
|
-
|
52
|
+
it "detects error" do
|
53
|
+
should have_error
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
context "when there is no last comma in multiline hash of new syntax" do
|
58
|
+
let(:script) do
|
59
|
+
<<-EOF
|
60
|
+
{
|
61
|
+
a: 1
|
62
|
+
}
|
63
|
+
EOF
|
64
|
+
end
|
65
|
+
|
66
|
+
it "detects error" do
|
53
67
|
should have_error
|
54
68
|
end
|
55
69
|
end
|
@@ -63,7 +77,7 @@ module Guideline
|
|
63
77
|
EOF
|
64
78
|
end
|
65
79
|
|
66
|
-
|
80
|
+
it "detects error" do
|
67
81
|
should have_error
|
68
82
|
end
|
69
83
|
end
|
@@ -77,7 +91,7 @@ module Guideline
|
|
77
91
|
EOF
|
78
92
|
end
|
79
93
|
|
80
|
-
|
94
|
+
it "does not detect error" do
|
81
95
|
should_not have_error
|
82
96
|
end
|
83
97
|
end
|
@@ -93,7 +107,7 @@ module Guideline
|
|
93
107
|
EOF
|
94
108
|
end
|
95
109
|
|
96
|
-
|
110
|
+
it "detects error" do
|
97
111
|
should have_error
|
98
112
|
end
|
99
113
|
end
|
@@ -8,11 +8,11 @@ module Guideline
|
|
8
8
|
end
|
9
9
|
|
10
10
|
let(:path) do
|
11
|
-
mock(:each_line =>
|
11
|
+
mock(:each_line => script.each_line)
|
12
12
|
end
|
13
13
|
|
14
14
|
context "when there is too line" do
|
15
|
-
let(:
|
15
|
+
let(:script) do
|
16
16
|
<<-EOF
|
17
17
|
def foo
|
18
18
|
too looooooooooooooooooooooooong line
|
@@ -20,14 +20,14 @@ module Guideline
|
|
20
20
|
EOF
|
21
21
|
end
|
22
22
|
|
23
|
-
|
23
|
+
it "detects error" do
|
24
24
|
checker.check(path)
|
25
25
|
checker.should have_error
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
29
|
context "when there is no too long line" do
|
30
|
-
let(:
|
30
|
+
let(:script) do
|
31
31
|
<<-EOF
|
32
32
|
def foo
|
33
33
|
not loooooooooooooooooooooooong line
|
@@ -35,7 +35,7 @@ module Guideline
|
|
35
35
|
EOF
|
36
36
|
end
|
37
37
|
|
38
|
-
|
38
|
+
it "does not detect error" do
|
39
39
|
checker.check(path)
|
40
40
|
checker.should_not have_error
|
41
41
|
end
|
@@ -8,11 +8,11 @@ module Guideline
|
|
8
8
|
end
|
9
9
|
|
10
10
|
let(:path) do
|
11
|
-
mock(:read =>
|
11
|
+
mock(:read => script)
|
12
12
|
end
|
13
13
|
|
14
14
|
context "when there is too long method" do
|
15
|
-
let(:
|
15
|
+
let(:script) do
|
16
16
|
<<-EOF
|
17
17
|
def foo
|
18
18
|
1
|
@@ -21,14 +21,14 @@ module Guideline
|
|
21
21
|
EOF
|
22
22
|
end
|
23
23
|
|
24
|
-
|
24
|
+
it "detects error" do
|
25
25
|
checker.check(path)
|
26
26
|
checker.should have_error
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
30
|
context "when there is no too long method" do
|
31
|
-
let(:
|
31
|
+
let(:script) do
|
32
32
|
<<-EOF
|
33
33
|
def foo
|
34
34
|
1
|
@@ -36,7 +36,7 @@ module Guideline
|
|
36
36
|
EOF
|
37
37
|
end
|
38
38
|
|
39
|
-
|
39
|
+
it "does not detect error" do
|
40
40
|
checker.check(path)
|
41
41
|
checker.should_not have_error
|
42
42
|
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
module Guideline
|
4
|
+
describe UnusedMethodChecker do
|
5
|
+
let(:checker) do
|
6
|
+
described_class.new
|
7
|
+
end
|
8
|
+
|
9
|
+
let(:path) do
|
10
|
+
mock(:read => script, :to_s => "mock.rb")
|
11
|
+
end
|
12
|
+
|
13
|
+
describe "#prepare" do
|
14
|
+
let(:script) do
|
15
|
+
<<-EOF
|
16
|
+
a
|
17
|
+
b()
|
18
|
+
d.c
|
19
|
+
f.e()
|
20
|
+
EOF
|
21
|
+
end
|
22
|
+
|
23
|
+
it "remembers method calls" do
|
24
|
+
checker.prepare(path)
|
25
|
+
checker.send(:calls).should == %w[a b c d e f]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe "#check" do
|
30
|
+
before do
|
31
|
+
checker.instance_variable_set(:@calls, %w[a b])
|
32
|
+
end
|
33
|
+
|
34
|
+
let(:script) do
|
35
|
+
<<-EOF
|
36
|
+
def a
|
37
|
+
1
|
38
|
+
end
|
39
|
+
|
40
|
+
def b
|
41
|
+
2
|
42
|
+
end
|
43
|
+
|
44
|
+
def c
|
45
|
+
3
|
46
|
+
end
|
47
|
+
EOF
|
48
|
+
end
|
49
|
+
|
50
|
+
it "remembers method definitions" do
|
51
|
+
checker.stub(:clear_definitions)
|
52
|
+
checker.check(path)
|
53
|
+
checker.send(:definitions).map(&:name).should == %w[a b c]
|
54
|
+
end
|
55
|
+
|
56
|
+
it "detects unused method definitions" do
|
57
|
+
checker.stub(:clear_definitions)
|
58
|
+
checker.check(path)
|
59
|
+
checker.send(:unused_methods).map(&:name).should == %w[c]
|
60
|
+
end
|
61
|
+
|
62
|
+
it "reports unused method definitions" do
|
63
|
+
checker.should_receive(:report)
|
64
|
+
checker.check(path)
|
65
|
+
end
|
66
|
+
|
67
|
+
it "clears up its definitions after check" do
|
68
|
+
checker.check(path)
|
69
|
+
checker.send(:definitions).should be_empty
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -7,17 +7,34 @@ module Guideline
|
|
7
7
|
described_class.parse(argv)
|
8
8
|
end
|
9
9
|
|
10
|
+
before do
|
11
|
+
YAML.stub(:load_file).and_return(config)
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:config) do
|
15
|
+
{ "a" => 1 }
|
16
|
+
end
|
17
|
+
|
10
18
|
let(:path) do
|
11
19
|
File.expand_path("../../../guideline.yml", __FILE__)
|
12
20
|
end
|
13
21
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
end
|
22
|
+
let(:argv) do
|
23
|
+
["--config", path]
|
24
|
+
end
|
18
25
|
|
19
|
-
|
20
|
-
|
26
|
+
it "loads config option as YAML path" do
|
27
|
+
YAML.should_receive(:load_file).with(path)
|
28
|
+
subject
|
29
|
+
end
|
30
|
+
|
31
|
+
it "returns config option as HashWithIndifferentAccess" do
|
32
|
+
subject[:config].should be_a HashWithIndifferentAccess
|
33
|
+
end
|
34
|
+
|
35
|
+
context "when config option is passed" do
|
36
|
+
it "returns parsed options" do
|
37
|
+
should == { :config => config }
|
21
38
|
end
|
22
39
|
end
|
23
40
|
|
@@ -26,8 +43,8 @@ module Guideline
|
|
26
43
|
["-c", path]
|
27
44
|
end
|
28
45
|
|
29
|
-
it "
|
30
|
-
should
|
46
|
+
it "returns parsed options" do
|
47
|
+
should == { :config => config }
|
31
48
|
end
|
32
49
|
end
|
33
50
|
|
@@ -36,20 +53,11 @@ module Guideline
|
|
36
53
|
[]
|
37
54
|
end
|
38
55
|
|
39
|
-
it "
|
56
|
+
it "returns parsed options with default config path" do
|
57
|
+
described_class.should_receive(:default_config_path)
|
40
58
|
should have_key(:config)
|
41
59
|
end
|
42
60
|
end
|
43
|
-
|
44
|
-
context "when config option is wrong" do
|
45
|
-
let(:argv) do
|
46
|
-
["--config", "wrong config path"]
|
47
|
-
end
|
48
|
-
|
49
|
-
it do
|
50
|
-
expect { subject }.to raise_error(StandardError)
|
51
|
-
end
|
52
|
-
end
|
53
61
|
end
|
54
62
|
end
|
55
63
|
end
|
@@ -23,10 +23,34 @@ module Guideline
|
|
23
23
|
end
|
24
24
|
|
25
25
|
describe "#visit" do
|
26
|
-
it "calls checker#check with
|
26
|
+
it "calls checker#check with path" do
|
27
27
|
checker.should_receive(:check).with(path)
|
28
28
|
visitor.visit
|
29
29
|
end
|
30
30
|
end
|
31
|
+
|
32
|
+
describe "#prepare" do
|
33
|
+
context "if checker can respond to #prepare" do
|
34
|
+
before do
|
35
|
+
checker.stub(:respond_to?).with(:prepare).and_return(true)
|
36
|
+
end
|
37
|
+
|
38
|
+
it "calls checker#prepare with path" do
|
39
|
+
checker.should_receive(:prepare).with(path)
|
40
|
+
visitor.prepare
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
context "if checker cannot respond to #prepare" do
|
45
|
+
before do
|
46
|
+
checker.stub(:respond_to?).with(:prepare).and_return(false)
|
47
|
+
end
|
48
|
+
|
49
|
+
it "does not call checker#prepare with path" do
|
50
|
+
checker.should_not_receive(:prepare)
|
51
|
+
visitor.prepare
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
31
55
|
end
|
32
56
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: guideline
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11-
|
12
|
+
date: 2012-11-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: slop
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,31 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: code_analyzer
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
25
46
|
- !ruby/object:Gem::Dependency
|
26
47
|
name: active_support
|
27
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
28
49
|
none: false
|
29
50
|
requirements:
|
30
51
|
- - ! '>='
|
@@ -32,10 +53,15 @@ dependencies:
|
|
32
53
|
version: '0'
|
33
54
|
type: :runtime
|
34
55
|
prerelease: false
|
35
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
36
62
|
- !ruby/object:Gem::Dependency
|
37
63
|
name: i18n
|
38
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
39
65
|
none: false
|
40
66
|
requirements:
|
41
67
|
- - ! '>='
|
@@ -43,10 +69,15 @@ dependencies:
|
|
43
69
|
version: '0'
|
44
70
|
type: :runtime
|
45
71
|
prerelease: false
|
46
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
47
78
|
- !ruby/object:Gem::Dependency
|
48
79
|
name: rspec
|
49
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
50
81
|
none: false
|
51
82
|
requirements:
|
52
83
|
- - ! '>='
|
@@ -54,10 +85,15 @@ dependencies:
|
|
54
85
|
version: 2.12.0
|
55
86
|
type: :development
|
56
87
|
prerelease: false
|
57
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 2.12.0
|
58
94
|
- !ruby/object:Gem::Dependency
|
59
95
|
name: pry
|
60
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
61
97
|
none: false
|
62
98
|
requirements:
|
63
99
|
- - ! '>='
|
@@ -65,7 +101,12 @@ dependencies:
|
|
65
101
|
version: '0'
|
66
102
|
type: :development
|
67
103
|
prerelease: false
|
68
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
69
110
|
description: Guideline.gem checks if your code observes your coding guidelines
|
70
111
|
email:
|
71
112
|
- r7kamura@gmail.com
|
@@ -89,6 +130,7 @@ files:
|
|
89
130
|
- lib/guideline/checkers/hash_comma_checker.rb
|
90
131
|
- lib/guideline/checkers/long_line_checker.rb
|
91
132
|
- lib/guideline/checkers/long_method_checker.rb
|
133
|
+
- lib/guideline/checkers/unused_method_checker.rb
|
92
134
|
- lib/guideline/error.rb
|
93
135
|
- lib/guideline/runner.rb
|
94
136
|
- lib/guideline/version.rb
|
@@ -99,6 +141,7 @@ files:
|
|
99
141
|
- spec/guideline/checkers/hash_comma_checker_spec.rb
|
100
142
|
- spec/guideline/checkers/long_line_checker_spec.rb
|
101
143
|
- spec/guideline/checkers/long_method_checker_spec.rb
|
144
|
+
- spec/guideline/checkers/unused_method_checker_spec.rb
|
102
145
|
- spec/guideline/runner_spec.rb
|
103
146
|
- spec/guideline/visitor_spec.rb
|
104
147
|
- spec/guideline_spec.rb
|
@@ -123,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
166
|
version: '0'
|
124
167
|
requirements: []
|
125
168
|
rubyforge_project:
|
126
|
-
rubygems_version: 1.8.
|
169
|
+
rubygems_version: 1.8.24
|
127
170
|
signing_key:
|
128
171
|
specification_version: 3
|
129
172
|
summary: The guideline of your code
|
@@ -134,8 +177,8 @@ test_files:
|
|
134
177
|
- spec/guideline/checkers/hash_comma_checker_spec.rb
|
135
178
|
- spec/guideline/checkers/long_line_checker_spec.rb
|
136
179
|
- spec/guideline/checkers/long_method_checker_spec.rb
|
180
|
+
- spec/guideline/checkers/unused_method_checker_spec.rb
|
137
181
|
- spec/guideline/runner_spec.rb
|
138
182
|
- spec/guideline/visitor_spec.rb
|
139
183
|
- spec/guideline_spec.rb
|
140
184
|
- spec/spec_helper.rb
|
141
|
-
has_rdoc:
|