validate-website 0.7.5 → 0.7.6

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -33,6 +33,8 @@ HTML5 support with Validator.nu Web Service.
33
33
  Change user agent (Default: Anemone/VERSION)
34
34
  -e, --exclude EXCLUDE
35
35
  Url to exclude (ex: redirect|news)
36
+ -i, --ignore-errors IGNORE
37
+ Ignore certain validation errors (ex: autocorrect)
36
38
  -f, --file FILE
37
39
  Save not well formed or not found (with -n used) urls
38
40
  -c, --cookies COOKIES
data/Rakefile CHANGED
@@ -8,6 +8,7 @@ RDoc::Task.new do |rd|
8
8
  rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
9
9
  end
10
10
 
11
+ # install asciidoc libxml2-utils xmlto
11
12
  desc 'Update manpage from asciidoc file'
12
13
  task :manpage do
13
14
  system('find doc/ -type f -exec a2x -f manpage -D man/man1 {} \;')
@@ -200,7 +200,7 @@ module ValidateWebsite
200
200
  #
201
201
  def validate(doc, body, url, opts={})
202
202
  opts = @options.merge(opts)
203
- validator = Validator.new(doc, body)
203
+ validator = Validator.new(doc, body, opts)
204
204
  msg = " well formed? %s" % validator.valid?
205
205
  if validator.valid?
206
206
  unless opts[:quiet]
@@ -3,36 +3,34 @@ require 'optparse'
3
3
 
4
4
  module ValidateWebsite
5
5
  class Parser
6
- DEFAULT_OPTS_CRAWL = {
7
- :site => 'http://localhost:3000/',
6
+ DEFAULT_OPTS_ALL = {
8
7
  :markup_validation => true,
9
- :exclude => nil,
10
- :file => nil,
11
- # log not found url (404 status code)
8
+ # crawler: log not found url (404 status code)
9
+ # static: log not found url (not on filesystem, pwd considered as root « / »)
12
10
  :not_found => false,
11
+ :quiet => false,
12
+ :file => nil,
13
+ # regex to ignore certain validation errors
14
+ :ignore_errors => nil,
15
+ :color => true,
13
16
  # internal verbose for ValidateWebsite
14
17
  :validate_verbose => false,
15
- :quiet => false,
16
-
17
18
  # Anemone options see anemone/lib/anemone/core.rb
18
19
  :verbose => false,
19
20
  :cookies => nil,
20
21
  :accept_cookies => true,
21
22
  :redirect_limit => 0,
22
- :color => true,
23
23
  }
24
24
 
25
+ DEFAULT_OPTS_CRAWL = {
26
+ :site => 'http://localhost:3000/',
27
+ :exclude => nil,
28
+ }.merge(DEFAULT_OPTS_ALL)
29
+
25
30
  DEFAULT_OPTS_STATIC = {
26
31
  :site => 'http://www.example.com/',
27
32
  :pattern => '**/*.html',
28
- :file => nil,
29
- :validate_verbose => false,
30
- :quiet => false,
31
- :markup_validation => true,
32
- # log not found url (not on filesystem, pwd considered as root « / »)
33
- :not_found => false,
34
- :color => true,
35
- }
33
+ }.merge(DEFAULT_OPTS_ALL)
36
34
 
37
35
  def self.parse(options, type)
38
36
  if const_defined?("DEFAULT_OPTS_#{type.to_s.upcase}")
@@ -82,6 +80,10 @@ module ValidateWebsite
82
80
  "Markup validation (Default: #{@@default_opts[:markup_validation]})") { |v|
83
81
  options[:markup_validation] = v
84
82
  }
83
+ o.on("-i", "--ignore-errors 'IGNORE'", String,
84
+ "Validation errors to ignore (regex)") { |v|
85
+ options[:ignore_errors] = v
86
+ }
85
87
  o.on("-n", "--not-found",
86
88
  "Log not found url (Default: #{@@default_opts[:not_found]})") { |v|
87
89
  options[:not_found] = v
@@ -11,9 +11,10 @@ module ValidateWebsite
11
11
  ##
12
12
  # @param [Nokogiri::HTML::Document] original_doc
13
13
  # @param [String] The raw HTTP response body of the page
14
- def initialize(original_doc, body)
14
+ def initialize(original_doc, body, opts={})
15
15
  @original_doc = original_doc
16
16
  @body = body
17
+ @options = opts
17
18
  @dtd = @original_doc.internal_subset
18
19
  init_namespace(@dtd)
19
20
  @errors = []
@@ -70,7 +71,16 @@ module ValidateWebsite
70
71
  ##
71
72
  # @return [Boolean]
72
73
  def valid?
73
- @errors.length == 0
74
+ errors.length == 0
75
+ end
76
+
77
+ def errors
78
+ if @options[:ignore_errors]
79
+ ignore_re = Regexp.compile @options[:ignore_errors]
80
+ @errors.reject { |e| ignore_re =~ e }
81
+ else
82
+ @errors
83
+ end
74
84
  end
75
85
 
76
86
  private
@@ -1,13 +1,13 @@
1
1
  '\" t
2
2
  .\" Title: validate-website-static
3
3
  .\" Author: [see the "AUTHOR" section]
4
- .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
5
- .\" Date: 06/05/2011
4
+ .\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
5
+ .\" Date: 04/05/2012
6
6
  .\" Manual: \ \&
7
7
  .\" Source: \ \&
8
8
  .\" Language: English
9
9
  .\"
10
- .TH "VALIDATE\-WEBSITE\-S" "1" "06/05/2011" "\ \&" "\ \&"
10
+ .TH "VALIDATE\-WEBSITE\-S" "1" "04/05/2012" "\ \&" "\ \&"
11
11
  .\" -----------------------------------------------------------------
12
12
  .\" * Define some portability stuff
13
13
  .\" -----------------------------------------------------------------
@@ -48,6 +48,12 @@ http://www\&.example\&.com/)
48
48
  Change filenames pattern (Default: **/*\&.html)
49
49
  .RE
50
50
  .PP
51
+ \fB\-i\fR, \fB\-\-ignore\-errors\fR \fIIGNORE\fR
52
+ .RS 4
53
+ Ignore certain validation errors (ex:
54
+ \fIautocorrect\fR)
55
+ .RE
56
+ .PP
51
57
  \fB\-f\fR, \fB\-\-file\fR \fIFILE\fR
52
58
  .RS 4
53
59
  Save not well formed urls
@@ -1,13 +1,13 @@
1
1
  '\" t
2
2
  .\" Title: validate-website
3
3
  .\" Author: [see the "AUTHOR" section]
4
- .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
5
- .\" Date: 06/05/2011
4
+ .\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
5
+ .\" Date: 04/05/2012
6
6
  .\" Manual: \ \&
7
7
  .\" Source: \ \&
8
8
  .\" Language: English
9
9
  .\"
10
- .TH "VALIDATE\-WEBSITE" "1" "06/05/2011" "\ \&" "\ \&"
10
+ .TH "VALIDATE\-WEBSITE" "1" "04/05/2012" "\ \&" "\ \&"
11
11
  .\" -----------------------------------------------------------------
12
12
  .\" * Define some portability stuff
13
13
  .\" -----------------------------------------------------------------
@@ -54,6 +54,12 @@ Url to exclude (ex:
54
54
  \fIredirect|news\fR)
55
55
  .RE
56
56
  .PP
57
+ \fB\-i\fR, \fB\-\-ignore\-errors\fR \fIIGNORE\fR
58
+ .RS 4
59
+ Ignore certain validation errors (ex:
60
+ \fIautocorrect\fR)
61
+ .RE
62
+ .PP
57
63
  \fB\-f\fR, \fB\-\-file\fR \fIFILE\fR
58
64
  .RS 4
59
65
  Save not well formed or not found (with \-n used) urls
@@ -57,17 +57,25 @@ describe ValidateWebsite::Validator do
57
57
  FakeWeb.register_uri(:any, 'http://validator.nu/',
58
58
  :body => open(validator_res).read)
59
59
  end
60
- it 'should have an array of errors' do
60
+ def html5_validator(options={})
61
61
  name = 'html5'
62
62
  file = File.join('spec', 'data', "#{name}-linuxfr.html")
63
63
  page = FakePage.new(name,
64
64
  :body => open(file).read,
65
65
  :content_type => 'text/html')
66
66
  @html5_page = @http.fetch_page(page.url)
67
- validator = ValidateWebsite::Validator.new(@html5_page.doc, @html5_page.body)
67
+ ValidateWebsite::Validator.new(@html5_page.doc, @html5_page.body, options)
68
+ end
69
+ it 'should have an array of errors' do
70
+ validator = html5_validator
68
71
  validator.valid?.must_equal false
69
72
  validator.errors.size.must_equal 38
70
73
  end
74
+ it 'should exclude errors ignored by :ignore_errors option' do
75
+ validator = html5_validator(:ignore_errors => "The nowrap attribute on the td element is obsolete")
76
+ validator.valid?.must_equal false
77
+ validator.errors.size.must_equal 36
78
+ end
71
79
  end
72
80
  end
73
81
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: validate-website
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.5
4
+ version: 0.7.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-02-07 00:00:00.000000000 Z
12
+ date: 2012-04-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: anemone
16
- requirement: &14096080 !ruby/object:Gem::Requirement
16
+ requirement: &12974460 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.6.1
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *14096080
24
+ version_requirements: *12974460
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rainbow
27
- requirement: &14094820 !ruby/object:Gem::Requirement
27
+ requirement: &12973920 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.1.1
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *14094820
35
+ version_requirements: *12973920
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: multipart_body
38
- requirement: &14094060 !ruby/object:Gem::Requirement
38
+ requirement: &12973460 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.2.1
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *14094060
46
+ version_requirements: *12973460
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
- requirement: &14093340 !ruby/object:Gem::Requirement
49
+ requirement: &12972980 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 0.8.7
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *14093340
57
+ version_requirements: *12972980
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: minitest
60
- requirement: &14092520 !ruby/object:Gem::Requirement
60
+ requirement: &12972520 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 2.1.0
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *14092520
68
+ version_requirements: *12972520
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: fakeweb
71
- requirement: &14091820 !ruby/object:Gem::Requirement
71
+ requirement: &12972040 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: 1.3.0
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *14091820
79
+ version_requirements: *12972040
80
80
  description: validate-website is a web crawler for checking the markup validity with
81
81
  XML Schema / DTD and not found urls.
82
82
  email: laurent@spkdev.net
@@ -89,118 +89,120 @@ files:
89
89
  - README.rdoc
90
90
  - Rakefile
91
91
  - LICENSE
92
+ - lib/validate_website.rb
93
+ - lib/validate_website/runner.rb
94
+ - lib/validate_website/option_parser.rb
92
95
  - lib/validate_website/validator.rb
93
96
  - lib/validate_website/rspec.rb
94
97
  - lib/validate_website/colorful_messages.rb
95
98
  - lib/validate_website/core.rb
96
- - lib/validate_website/option_parser.rb
97
- - lib/validate_website/runner.rb
98
- - lib/validate_website.rb
99
99
  - man/man1/validate-website.1
100
100
  - man/man1/validate-website-static.1
101
101
  - spec/spec_helper.rb
102
+ - spec/data/xhtml1-strict.html
102
103
  - spec/data/html5.html
103
104
  - spec/data/html4-strict.html
104
105
  - spec/data/validator.nu-success.html
105
- - spec/data/validator.nu-failure.html
106
106
  - spec/data/html5-linuxfr.html
107
- - spec/data/xhtml1-strict.html
108
- - spec/example/ruby smalltalk/blockcamp-paris-le-28-novembre.html
109
- - spec/core_spec.rb
107
+ - spec/data/validator.nu-failure.html
110
108
  - spec/fakeweb_helper.rb
111
109
  - spec/validator_spec.rb
110
+ - spec/example/ruby smalltalk/blockcamp-paris-le-28-novembre.html
111
+ - spec/core_spec.rb
112
+ - data/schemas/xhtml-print-1.xsd
113
+ - data/schemas/xhtml-inlstyle-1.xsd
114
+ - data/schemas/xhtml-pres-1.xsd
115
+ - data/schemas/xhtml-events-1.xsd
116
+ - data/schemas/xhtml-rdfa-1.dtd
117
+ - data/schemas/xhtml-object-1.xsd
118
+ - data/schemas/xhtml-inlpres-1.xsd
119
+ - data/schemas/xhtml-table-1.xsd
120
+ - data/schemas/xhtml-ruby-1.xsd
121
+ - data/schemas/xhtml1-transitional.xsd
122
+ - data/schemas/xhtml-basic-table-1.xsd
112
123
  - data/schemas/xhtml-basic10-module-redefines-1.xsd
113
- - data/schemas/xhtml-frames-1.xsd
114
- - data/schemas/xhtml-basic11.xsd
115
- - data/schemas/xhtml-edit-1.xsd
116
- - data/schemas/xml-handlers-1.xsd
117
- - data/schemas/xhtml-basic10.xsd
118
- - data/schemas/xhtml11-modules-1.xsd
119
- - data/schemas/xhtml-basic10-modules-1.xsd
120
- - data/schemas/xhtml-inlphras-1.xsd
121
- - data/schemas/xhtml-inputmode-1.xsd
122
- - data/schemas/xhtml-ruby-basic-1.xsd
124
+ - data/schemas/xhtml-basic11-modules-1.xsd
125
+ - data/schemas/xhtml-text-1.xsd
123
126
  - data/schemas/xhtml1-strict.dtd
124
127
  - data/schemas/xhtml-notations-1.xsd
125
- - data/schemas/xhtml-rdfa-model-1.xsd
126
- - data/schemas/xhtml1-transitional.xsd
127
- - data/schemas/xhtml-image-1.xsd
128
- - data/schemas/xhtml-basic10-model-1.xsd
129
- - data/schemas/xhtml11.xsd
130
- - data/schemas/xhtml-inlstruct-1.xsd
131
- - data/schemas/xhtml-inlpres-1.xsd
132
- - data/schemas/xml-events-attribs-2.xsd
133
128
  - data/schemas/xhtml-link-1.xsd
134
- - data/schemas/xhtml-framework-1.xsd
135
- - data/schemas/xhtml-text-1.xsd
136
- - data/schemas/xhtml-rdfa-1.xsd
137
- - data/schemas/xhtml-legacy-1.xsd
138
- - data/schemas/xml-events-1.xsd
139
- - data/schemas/xml-script-1.xsd
140
- - data/schemas/xhtml-misc-1.xsd
141
- - data/schemas/loose.dtd
142
- - data/schemas/xhtml-lat1.ent
143
- - data/schemas/xhtml-basic-form-1.xsd
144
- - data/schemas/xhtml-basic11-modules-1.xsd
145
- - data/schemas/xhtml-nameident-1.xsd
146
- - data/schemas/xhtml1-frameset.xsd
147
129
  - data/schemas/xhtml1-frameset.dtd
148
- - data/schemas/xhtml-script-1.xsd
149
- - data/schemas/xhtml-target-1.xsd
150
- - data/schemas/xhtml-ruby-1.xsd
130
+ - data/schemas/xhtml-frames-1.xsd
131
+ - data/schemas/xml-script-1.xsd
132
+ - data/schemas/xhtml-base-1.xsd
151
133
  - data/schemas/xhtml1-transitional.dtd
152
- - data/schemas/xhtml-meta-1.xsd
153
- - data/schemas/xhtml-events-1.xsd
154
- - data/schemas/xhtml-inlstyle-1.xsd
155
- - data/schemas/xhtml-csismap-1.xsd
134
+ - data/schemas/xhtml1-strict.xsd
156
135
  - data/schemas/xhtml2.xsd
157
- - data/schemas/xhtml-metaAttributes-1.xsd
158
- - data/schemas/xml-events-copyright-2.xsd
159
- - data/schemas/frameset.dtd
160
- - data/schemas/xhtml-base-1.xsd
161
- - data/schemas/xhtml-blkpres-1.xsd
162
- - data/schemas/xhtml-blkstruct-1.xsd
136
+ - data/schemas/strict.dtd
137
+ - data/schemas/xhtml11-modules-1.xsd
163
138
  - data/schemas/xhtml-rdfa-modules-1.xsd
139
+ - data/schemas/xhtml-param-1.xsd
140
+ - data/schemas/loose.dtd
141
+ - data/schemas/xhtml-metaAttributes-1.xsd
142
+ - data/schemas/xhtml-print-model-1.xsd
143
+ - data/schemas/xml-events-1.xsd
144
+ - data/schemas/xml-events-attribs-2.xsd
164
145
  - data/schemas/xml-events-copyright-1.xsd
146
+ - data/schemas/xhtml-legacy-1.xsd
147
+ - data/schemas/xhtml-blkstruct-1.xsd
148
+ - data/schemas/xml-handlers-1.xsd
149
+ - data/schemas/xhtml-ssismap-1.xsd
150
+ - data/schemas/xhtml-form-1.xsd
151
+ - data/schemas/xhtml-csismap-1.xsd
165
152
  - data/schemas/xhtml11-module-redefines-1.xsd
166
- - data/schemas/xhtml11-model-1.xsd
167
- - data/schemas/xml-events-2.xsd
168
- - data/schemas/xhtml-print-1.xsd
153
+ - data/schemas/xhtml-applet-1.xsd
154
+ - data/schemas/xhtml-basic11.xsd
155
+ - data/schemas/xhtml-target-1.xsd
156
+ - data/schemas/xhtml-image-1.xsd
169
157
  - data/schemas/xhtml-struct-1.xsd
170
- - data/schemas/xhtml-special.ent
158
+ - data/schemas/xml.xsd
159
+ - data/schemas/xhtml-access-1.xsd
160
+ - data/schemas/xml-events-2.xsd
161
+ - data/schemas/xml-events-attribs-1.xsd
162
+ - data/schemas/xhtml-hypertext-1.xsd
163
+ - data/schemas/xhtml-basic-form-1.xsd
164
+ - data/schemas/xhtml11.xsd
165
+ - data/schemas/xhtml-style-1.xsd
171
166
  - data/schemas/xframes-1.xsd
172
- - data/schemas/xhtml-copyright-1.xsd
173
- - data/schemas/xhtml-param-1.xsd
167
+ - data/schemas/xhtml-misc-1.xsd
168
+ - data/schemas/xhtml-edit-1.xsd
169
+ - data/schemas/xhtml-blkpres-1.xsd
170
+ - data/schemas/xml-events-copyright-2.xsd
174
171
  - data/schemas/xhtml-basic11.dtd
175
- - data/schemas/xhtml-basic-table-1.xsd
176
- - data/schemas/xhtml-access-1.xsd
172
+ - data/schemas/xhtml-rdfa-1.xsd
177
173
  - data/schemas/xhtml-datatypes-1.xsd
178
- - data/schemas/xhtml-print-model-1.xsd
179
- - data/schemas/strict.dtd
180
- - data/schemas/xhtml-attribs-1.xsd
181
- - data/schemas/xhtml-rdfa-1.dtd
174
+ - data/schemas/frameset.dtd
175
+ - data/schemas/xhtml-lat1.ent
182
176
  - data/schemas/xhtml-blkphras-1.xsd
183
- - data/schemas/xhtml-print-modules-1.xsd
184
- - data/schemas/xhtml-table-1.xsd
185
- - data/schemas/xhtml-style-1.xsd
177
+ - data/schemas/xhtml-symbol.ent
178
+ - data/schemas/xhtml-rdfa-model-1.xsd
179
+ - data/schemas/xhtml-ruby-basic-1.xsd
180
+ - data/schemas/xhtml-copyright-1.xsd
186
181
  - data/schemas/xml-handlers-2.xsd
187
- - data/schemas/xhtml-pres-1.xsd
188
- - data/schemas/xml-events-attribs-1.xsd
189
- - data/schemas/xhtml-applet-1.xsd
182
+ - data/schemas/xhtml-inlphras-1.xsd
183
+ - data/schemas/xhtml-basic10-modules-1.xsd
184
+ - data/schemas/xhtml-meta-1.xsd
185
+ - data/schemas/xhtml-attribs-1.xsd
186
+ - data/schemas/xhtml-list-1.xsd
187
+ - data/schemas/xhtml-inlstruct-1.xsd
188
+ - data/schemas/xhtml-script-1.xsd
190
189
  - data/schemas/xhtml-bdo-1.xsd
191
- - data/schemas/xhtml1-strict.xsd
192
- - data/schemas/xhtml-object-1.xsd
190
+ - data/schemas/xhtml-inputmode-1.xsd
191
+ - data/schemas/xhtml1-frameset.xsd
192
+ - data/schemas/xhtml-basic10-model-1.xsd
193
+ - data/schemas/xhtml-print-modules-1.xsd
194
+ - data/schemas/xhtml11-model-1.xsd
195
+ - data/schemas/xhtml-nameident-1.xsd
193
196
  - data/schemas/xhtml-basic11-model-1.xsd
194
- - data/schemas/xhtml-symbol.ent
195
- - data/schemas/xhtml-hypertext-1.xsd
196
- - data/schemas/xml.xsd
197
- - data/schemas/xhtml-form-1.xsd
198
- - data/schemas/xhtml-iframe-1.xsd
199
- - data/schemas/xhtml-ssismap-1.xsd
200
- - data/schemas/xhtml-list-1.xsd
201
197
  - data/schemas/xhtml-charent-1.xsd
202
- - bin/validate-website
203
- - bin/validate-website-static
198
+ - data/schemas/xhtml-special.ent
199
+ - data/schemas/xhtml-iframe-1.xsd
200
+ - data/schemas/xhtml-framework-1.xsd
201
+ - data/schemas/xhtml-basic10.xsd
202
+ - !binary |-
203
+ YmluL3ZhbGlkYXRlLXdlYnNpdGU=
204
+ - !binary |-
205
+ YmluL3ZhbGlkYXRlLXdlYnNpdGUtc3RhdGlj
204
206
  homepage: http://github.com/spk/validate-website
205
207
  licenses:
206
208
  - MIT
@@ -225,11 +227,10 @@ requirements:
225
227
  - rainbow
226
228
  - multipart_body
227
229
  rubyforge_project:
228
- rubygems_version: 1.7.2
230
+ rubygems_version: 1.8.11
229
231
  signing_key:
230
232
  specification_version: 3
231
233
  summary: Web crawler for checking the validity of your documents
232
234
  test_files:
233
- - spec/core_spec.rb
234
235
  - spec/validator_spec.rb
235
- has_rdoc:
236
+ - spec/core_spec.rb