guideline 0.0.2 → 0.0.3

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.
@@ -0,0 +1,15 @@
1
+ module Guideline
2
+ class HardTabIndentChecker < Checker
3
+ def check(path)
4
+ path.each_line.with_index do |line, index|
5
+ if line =~ /^ *\t/
6
+ add_error(
7
+ :message => "Use space indent instead of hard tab indent",
8
+ :path => path,
9
+ :line => index + 1
10
+ )
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,3 +1,3 @@
1
1
  module Guideline
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/guideline.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "guideline/version"
2
2
  require "guideline/visitor"
3
3
  require "guideline/error"
4
- require "guideline/checker"
5
- require "guideline/checker/long_line_checker"
6
- require "guideline/checker/long_method_checker"
4
+ require "guideline/checkers/checker"
5
+ require "guideline/checkers/long_line_checker"
6
+ require "guideline/checkers/long_method_checker"
7
+ require "guideline/checkers/hard_tab_indent_checker"
@@ -0,0 +1,45 @@
1
+ require "spec_helper"
2
+
3
+ module Guideline
4
+ describe HardTabIndentChecker do
5
+ describe "#check" do
6
+ let(:checker) do
7
+ described_class.new
8
+ end
9
+
10
+ let(:path) do
11
+ mock(:each_line => content.each_line)
12
+ end
13
+
14
+ context "when there is hard tab indent" do
15
+ let(:content) do
16
+ <<-EOF
17
+ def foo
18
+ \t1
19
+ end
20
+ EOF
21
+ end
22
+
23
+ specify "checker detects error" do
24
+ checker.check(path)
25
+ checker.should have_error
26
+ end
27
+ end
28
+
29
+ context "when there is no too long line" do
30
+ let(:content) do
31
+ <<-EOF
32
+ def foo
33
+ 1
34
+ end
35
+ EOF
36
+ end
37
+
38
+ specify "checker does not detect error" do
39
+ checker.check(path)
40
+ checker.should_not have_error
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,45 @@
1
+ require "spec_helper"
2
+
3
+ module Guideline
4
+ describe LongLineChecker do
5
+ describe "#check" do
6
+ let(:checker) do
7
+ described_class.new(:max => 50)
8
+ end
9
+
10
+ let(:path) do
11
+ mock(:each_line => content.each_line)
12
+ end
13
+
14
+ context "when there is too line" do
15
+ let(:content) do
16
+ <<-EOF
17
+ def foo
18
+ too looooooooooooooooooooooooooooooooooooooooooooooooooooong line
19
+ end
20
+ EOF
21
+ end
22
+
23
+ specify "checker detects error" do
24
+ checker.check(path)
25
+ checker.should have_error
26
+ end
27
+ end
28
+
29
+ context "when there is no too long line" do
30
+ let(:content) do
31
+ <<-EOF
32
+ def foo
33
+ not long line
34
+ end
35
+ EOF
36
+ end
37
+
38
+ specify "checker does not detect error" do
39
+ checker.check(path)
40
+ checker.should_not have_error
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,46 @@
1
+ require "spec_helper"
2
+
3
+ module Guideline
4
+ describe LongMethodChecker do
5
+ describe "#check" do
6
+ let(:checker) do
7
+ described_class.new(:max => 1)
8
+ end
9
+
10
+ let(:path) do
11
+ mock(:read => content)
12
+ end
13
+
14
+ context "when there is too long method" do
15
+ let(:content) do
16
+ <<-EOF
17
+ def foo
18
+ 1
19
+ 2
20
+ end
21
+ EOF
22
+ end
23
+
24
+ specify "checker detects error" do
25
+ checker.check(path)
26
+ checker.should have_error
27
+ end
28
+ end
29
+
30
+ context "when there is no too long method" do
31
+ let(:content) do
32
+ <<-EOF
33
+ def foo
34
+ 1
35
+ end
36
+ EOF
37
+ end
38
+
39
+ specify "checker does not detect error" do
40
+ checker.check(path)
41
+ checker.should_not have_error
42
+ end
43
+ end
44
+ end
45
+ end
46
+ 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.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -91,14 +91,17 @@ files:
91
91
  - examples/long_method_checker.rb
92
92
  - guideline.gemspec
93
93
  - lib/guideline.rb
94
- - lib/guideline/checker.rb
95
- - lib/guideline/checker/long_line_checker.rb
96
- - lib/guideline/checker/long_method_checker.rb
94
+ - lib/guideline/checkers/checker.rb
95
+ - lib/guideline/checkers/hard_tab_indent_checker.rb
96
+ - lib/guideline/checkers/long_line_checker.rb
97
+ - lib/guideline/checkers/long_method_checker.rb
97
98
  - lib/guideline/error.rb
98
99
  - lib/guideline/version.rb
99
100
  - lib/guideline/visitor.rb
100
- - spec/guideline/checker/long_line_checker_spec.rb
101
- - spec/guideline/checker_spec.rb
101
+ - spec/guideline/checkers/checker_spec.rb
102
+ - spec/guideline/checkers/hard_tab_indent_checker_spec.rb
103
+ - spec/guideline/checkers/long_line_checker_spec.rb
104
+ - spec/guideline/checkers/long_method_checker_spec.rb
102
105
  - spec/guideline/visitor_spec.rb
103
106
  - spec/guideline_spec.rb
104
107
  - spec/spec_helper.rb
@@ -127,8 +130,10 @@ signing_key:
127
130
  specification_version: 3
128
131
  summary: The guideline of your code
129
132
  test_files:
130
- - spec/guideline/checker/long_line_checker_spec.rb
131
- - spec/guideline/checker_spec.rb
133
+ - spec/guideline/checkers/checker_spec.rb
134
+ - spec/guideline/checkers/hard_tab_indent_checker_spec.rb
135
+ - spec/guideline/checkers/long_line_checker_spec.rb
136
+ - spec/guideline/checkers/long_method_checker_spec.rb
132
137
  - spec/guideline/visitor_spec.rb
133
138
  - spec/guideline_spec.rb
134
139
  - spec/spec_helper.rb
@@ -1,28 +0,0 @@
1
- require "spec_helper"
2
-
3
- module Guideline
4
- describe LongLineChecker do
5
- describe "#check" do
6
- subject do
7
- checker.check(path)
8
- end
9
-
10
- let(:checker) do
11
- described_class.new(:max => 1)
12
- end
13
-
14
- let(:path) do
15
- Pathname.new(__FILE__)
16
- end
17
-
18
- it do
19
- should be_a Array
20
- end
21
-
22
- it do
23
- subject
24
- checker.should have_error
25
- end
26
- end
27
- end
28
- end
File without changes