html_mockup 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -9,10 +9,10 @@ HtmlMockup also provides tools for HTML validation.
9
9
  === Requirements
10
10
  HtmlMockup requires the following dependencies
11
11
 
12
- * Ruby 1.8.x (not tested in 1.9.x)
12
+ * Ruby 1.8.x (or 1.9.x)
13
13
  * Rubygems
14
14
  * Thor (to use mockup binary)
15
- * Rack > 0.3 (to use mockup serve)
15
+ * Rack > 1.0 (to use mockup serve)
16
16
 
17
17
  === Usage
18
18
 
@@ -78,4 +78,4 @@ Options:
78
78
  --filter:: What files should be validated, defaults to [^_]*.html
79
79
 
80
80
  === Copyright & license
81
- Copyright (c) 2009 Flurin Egger, DigitPaint, MIT Style License. (see MIT-LICENSE)
81
+ Copyright (c) 2011 Flurin Egger, DigitPaint, MIT Style License. (see MIT-LICENSE)
@@ -167,7 +167,7 @@ module HtmlMockup
167
167
  search_files = %w{.html .htm}.map!{|p| path + "index#{p}" }
168
168
  # If it ends with a slash or does not contain a . and it's not a directory
169
169
  # try to add .html/.htm/.rhtml to see if that exists.
170
- elsif (path =~ /\/$/) || (path =~ /^[^.]+$/)
170
+ elsif (path.to_s =~ /\/$/) || (path.to_s =~ /^[^.]+$/)
171
171
  search_files = [path.to_s + ".html", path.to_s + ".htm"].map!{|p| Pathname.new(p) }
172
172
  else
173
173
  search_files = [path]
@@ -50,7 +50,8 @@ module HtmlMockup
50
50
  return @app if @app
51
51
  @stack.use ::Rack::ShowExceptions
52
52
  @stack.use ::Rack::Lint
53
- @stack.use ::Rack::ConditionalGet
53
+ @stack.use ::Rack::ConditionalGet
54
+ @stack.use ::Rack::Head
54
55
 
55
56
  @middleware.each { |c,a,b| @stack.use(c, *a, &b) }
56
57
 
@@ -7,6 +7,8 @@ module HtmlMockup
7
7
  class W3CValidator
8
8
 
9
9
  ValidationUri = "http://validator.w3.org/check"
10
+
11
+ class RequestError < StandardError; end
10
12
 
11
13
  attr_reader :valid,:response,:errors,:warnings,:status
12
14
 
@@ -66,17 +68,24 @@ module HtmlMockup
66
68
  out << "Content-Type: #{mime_type}"
67
69
  out.join("\r\n") + "\r\n\r\n" + content + "\r\n"
68
70
  end
69
-
70
-
71
-
72
-
71
+
73
72
  # Makes request to remote service.
74
73
  def request(method, path, *arguments)
74
+ perform_request(method, path, arguments, 3)
75
+ end
76
+
77
+ def perform_request(method, path, arguments, tries=3)
75
78
  result = nil
76
79
  result = http.send(method, path, *arguments)
77
80
  handle_response(result)
81
+ rescue RequestError => e
82
+ if tries > 0
83
+ perform_request(method, path, arguments, tries-1)
84
+ else
85
+ raise
86
+ end
78
87
  rescue Timeout::Error => e
79
- raise
88
+ raise
80
89
  end
81
90
 
82
91
  # Handles response and error codes from remote service.
@@ -97,13 +106,13 @@ module HtmlMockup
97
106
  when 405
98
107
  raise "Method not allowed"
99
108
  when 409
100
- raise "Rescource conflict"
109
+ raise RequestError.new("Rescource conflict")
101
110
  when 422
102
- raise "Resource invalid"
111
+ raise RequestError.new("Resource invalid")
103
112
  when 401...500
104
113
  raise "Client error"
105
114
  when 500...600
106
- raise "Server error"
115
+ raise RequestError.new("Server error")
107
116
  else
108
117
  raise "Unknown response: #{response.code.to_i}"
109
118
  end
metadata CHANGED
@@ -1,46 +1,46 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: html_mockup
3
- version: !ruby/object:Gem::Version
4
- version: 0.3.4
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.5
5
+ prerelease:
5
6
  platform: ruby
6
- authors:
7
+ authors:
7
8
  - Flurin Egger
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
-
12
- date: 2010-05-10 00:00:00 +02:00
13
- default_executable: mockup
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2011-09-12 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: thor
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
16
+ requirement: &70185227460540 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
21
19
  - - ~>
22
- - !ruby/object:Gem::Version
20
+ - !ruby/object:Gem::Version
23
21
  version: 0.12.0
24
- version:
25
- - !ruby/object:Gem::Dependency
26
- name: rack
27
22
  type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
23
+ prerelease: false
24
+ version_requirements: *70185227460540
25
+ - !ruby/object:Gem::Dependency
26
+ name: rack
27
+ requirement: &70185227459700 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
33
32
  version: 1.0.0
34
- version:
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70185227459700
35
36
  description:
36
37
  email: flurin@digitpaint.nl
37
- executables:
38
+ executables:
38
39
  - mockup
39
40
  extensions: []
40
-
41
- extra_rdoc_files:
41
+ extra_rdoc_files:
42
42
  - README.rdoc
43
- files:
43
+ files:
44
44
  - bin/mockup
45
45
  - examples/config.ru
46
46
  - examples/html/green.gif
@@ -54,33 +54,28 @@ files:
54
54
  - lib/html_mockup/template.rb
55
55
  - lib/html_mockup/w3c_validator.rb
56
56
  - README.rdoc
57
- has_rdoc: false
58
57
  homepage: http://github.com/flurin/html_mockup
59
58
  licenses: []
60
-
61
59
  post_install_message:
62
- rdoc_options:
63
- - --charset=UTF-8
64
- require_paths:
60
+ rdoc_options: []
61
+ require_paths:
65
62
  - lib
66
- required_ruby_version: !ruby/object:Gem::Requirement
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- version: "0"
71
- version:
72
- required_rubygems_version: !ruby/object:Gem::Requirement
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: "0"
77
- version:
63
+ required_ruby_version: !ruby/object:Gem::Requirement
64
+ none: false
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ required_rubygems_version: !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ! '>='
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
78
75
  requirements: []
79
-
80
76
  rubyforge_project:
81
- rubygems_version: 1.3.5
77
+ rubygems_version: 1.8.6
82
78
  signing_key:
83
79
  specification_version: 3
84
80
  summary: HTML Mockup is a set of tools to create self-containing HTML mockups.
85
81
  test_files: []
86
-