skeptic 0.0.1 → 0.0.2
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/.rvmrc +1 -1
- data/Gemfile +1 -1
- data/VERSION +1 -1
- data/features/skeptic.feature +13 -0
- data/lib/skeptic/rules/no_trailing_whitespace.rb +30 -0
- data/lib/skeptic/rules.rb +1 -0
- data/lib/skeptic.rb +1 -0
- metadata +55 -21
data/.rvmrc
CHANGED
@@ -1 +1 @@
|
|
1
|
-
rvm 1.9.
|
1
|
+
rvm --create 1.9.3@skeptic
|
data/Gemfile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.2
|
data/features/skeptic.feature
CHANGED
@@ -88,6 +88,19 @@ Feature: Running skeptic
|
|
88
88
|
* Line 2 is too long: 11 columns
|
89
89
|
"""
|
90
90
|
|
91
|
+
Scenario: Disallowing trailing whitespace
|
92
|
+
Given a file named "input.rb" with:
|
93
|
+
"""
|
94
|
+
no trailing whitespace
|
95
|
+
trailing whitespace
|
96
|
+
"""
|
97
|
+
When I run `skeptic --no-trailing-whitespace input.rb`
|
98
|
+
Then it should fail with:
|
99
|
+
"""
|
100
|
+
Trailing whitespace
|
101
|
+
* Line 2 has trailing whitespace
|
102
|
+
"""
|
103
|
+
|
91
104
|
Scenario: Checking the syntax
|
92
105
|
Given a file named "input.rb" with:
|
93
106
|
"""
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Skeptic
|
2
|
+
module Rules
|
3
|
+
class NoTrailingWhitespace
|
4
|
+
DESCRIPTION = 'Disallows trailing whitespace'
|
5
|
+
|
6
|
+
attr_reader :lines_with_trailing_whitespace
|
7
|
+
|
8
|
+
def initialize(enable = false)
|
9
|
+
@lines_with_trailing_whitespace = []
|
10
|
+
end
|
11
|
+
|
12
|
+
def apply_to(code, tokens, sexp)
|
13
|
+
code.lines.each_with_index do |line, index|
|
14
|
+
@lines_with_trailing_whitespace << index + 1 if line.chomp =~ /\s+$/
|
15
|
+
end
|
16
|
+
self
|
17
|
+
end
|
18
|
+
|
19
|
+
def violations
|
20
|
+
@lines_with_trailing_whitespace.map do |line|
|
21
|
+
"Line #{line} has trailing whitespace"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def name
|
26
|
+
"Trailing whitespace"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/skeptic/rules.rb
CHANGED
data/lib/skeptic.rb
CHANGED
@@ -10,6 +10,7 @@ require 'skeptic/rules/methods_per_class'
|
|
10
10
|
require 'skeptic/rules/lines_per_method'
|
11
11
|
require 'skeptic/rules/no_semicolons'
|
12
12
|
require 'skeptic/rules/line_length'
|
13
|
+
require 'skeptic/rules/no_trailing_whitespace'
|
13
14
|
|
14
15
|
require 'skeptic/rule_table'
|
15
16
|
require 'skeptic/rules'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: skeptic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
13
|
-
default_executable: skeptic
|
12
|
+
date: 2012-10-23 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: trollop
|
17
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
18
17
|
none: false
|
19
18
|
requirements:
|
20
19
|
- - ! '>='
|
@@ -22,10 +21,15 @@ dependencies:
|
|
22
21
|
version: 1.16.2
|
23
22
|
type: :runtime
|
24
23
|
prerelease: false
|
25
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.16.2
|
26
30
|
- !ruby/object:Gem::Dependency
|
27
31
|
name: rspec
|
28
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
29
33
|
none: false
|
30
34
|
requirements:
|
31
35
|
- - ! '>='
|
@@ -33,10 +37,15 @@ dependencies:
|
|
33
37
|
version: '0'
|
34
38
|
type: :development
|
35
39
|
prerelease: false
|
36
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
37
46
|
- !ruby/object:Gem::Dependency
|
38
47
|
name: cucumber
|
39
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
40
49
|
none: false
|
41
50
|
requirements:
|
42
51
|
- - ! '>='
|
@@ -44,10 +53,15 @@ dependencies:
|
|
44
53
|
version: '0'
|
45
54
|
type: :development
|
46
55
|
prerelease: false
|
47
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
48
62
|
- !ruby/object:Gem::Dependency
|
49
63
|
name: aruba
|
50
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
51
65
|
none: false
|
52
66
|
requirements:
|
53
67
|
- - ! '>='
|
@@ -55,10 +69,15 @@ dependencies:
|
|
55
69
|
version: '0'
|
56
70
|
type: :development
|
57
71
|
prerelease: false
|
58
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
59
78
|
- !ruby/object:Gem::Dependency
|
60
79
|
name: bundler
|
61
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
62
81
|
none: false
|
63
82
|
requirements:
|
64
83
|
- - ! '>='
|
@@ -66,10 +85,15 @@ dependencies:
|
|
66
85
|
version: '0'
|
67
86
|
type: :development
|
68
87
|
prerelease: false
|
69
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
70
94
|
- !ruby/object:Gem::Dependency
|
71
95
|
name: jeweler
|
72
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
73
97
|
none: false
|
74
98
|
requirements:
|
75
99
|
- - ! '>='
|
@@ -77,10 +101,15 @@ dependencies:
|
|
77
101
|
version: '0'
|
78
102
|
type: :development
|
79
103
|
prerelease: false
|
80
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
81
110
|
- !ruby/object:Gem::Dependency
|
82
|
-
name:
|
83
|
-
requirement:
|
111
|
+
name: simplecov
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
84
113
|
none: false
|
85
114
|
requirements:
|
86
115
|
- - ! '>='
|
@@ -88,7 +117,12 @@ dependencies:
|
|
88
117
|
version: '0'
|
89
118
|
type: :development
|
90
119
|
prerelease: false
|
91
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
92
126
|
description: An experimental, half-assed, bug-ridden and highly opinionated code analyzer.
|
93
127
|
email: stefan.kanev@gmail.com
|
94
128
|
executables:
|
@@ -119,9 +153,9 @@ files:
|
|
119
153
|
- lib/skeptic/rules/max_nesting_depth.rb
|
120
154
|
- lib/skeptic/rules/methods_per_class.rb
|
121
155
|
- lib/skeptic/rules/no_semicolons.rb
|
156
|
+
- lib/skeptic/rules/no_trailing_whitespace.rb
|
122
157
|
- lib/skeptic/scope.rb
|
123
158
|
- lib/skeptic/sexp_visitor.rb
|
124
|
-
has_rdoc: true
|
125
159
|
homepage: http://github.com/skanev/skeptic
|
126
160
|
licenses:
|
127
161
|
- MIT
|
@@ -137,7 +171,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
137
171
|
version: '0'
|
138
172
|
segments:
|
139
173
|
- 0
|
140
|
-
hash:
|
174
|
+
hash: 1704281601069197093
|
141
175
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
142
176
|
none: false
|
143
177
|
requirements:
|
@@ -146,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
146
180
|
version: '0'
|
147
181
|
requirements: []
|
148
182
|
rubyforge_project:
|
149
|
-
rubygems_version: 1.
|
183
|
+
rubygems_version: 1.8.24
|
150
184
|
signing_key:
|
151
185
|
specification_version: 3
|
152
186
|
summary: Skeptic points out annoying things in your code
|