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 CHANGED
@@ -1 +1 @@
1
- rvm 1.9.2
1
+ rvm --create 1.9.3@skeptic
data/Gemfile CHANGED
@@ -13,5 +13,5 @@ group :development do
13
13
  gem "aruba"
14
14
  gem "bundler"
15
15
  gem "jeweler"
16
- gem "rcov"
16
+ gem "simplecov"
17
17
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
@@ -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
@@ -10,5 +10,6 @@ module Skeptic
10
10
  table.register MaxNestingDepth, :int
11
11
  table.register MethodsPerClass, :int
12
12
  table.register NoSemicolons, :boolean
13
+ table.register NoTrailingWhitespace, :boolean
13
14
  end
14
15
  end
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.1
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: 2011-10-28 00:00:00.000000000 +03:00
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: &2157956920 !ruby/object:Gem::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: *2157956920
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: &2157956340 !ruby/object:Gem::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: *2157956340
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: &2157955800 !ruby/object:Gem::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: *2157955800
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: &2157955200 !ruby/object:Gem::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: *2157955200
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: &2157954600 !ruby/object:Gem::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: *2157954600
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: &2157949640 !ruby/object:Gem::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: *2157949640
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: rcov
83
- requirement: &2157949120 !ruby/object:Gem::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: *2157949120
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: -794478687402394833
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.6.2
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