html_mockup 0.3.4 → 0.3.5

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/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
-