wunderbar 0.21.4 → 0.22.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -442,6 +442,8 @@ The following gems are required by extensions of the same name:
442
442
  The following gems, if installed, will produce cleaner and prettier output:
443
443
 
444
444
  * `nokogiri` cleans up HTML fragments inserted via `<<`
445
+ * `nokogumbo` also cleans up HTML fragments inserted via `<<`. If this is
446
+ available, it will be preferred over direct usage of `nokogiri`.
445
447
  * `escape` prettier quoting of `system` commands
446
448
  * `sanitize` will remove unsafe markup from tainted input
447
449
 
@@ -166,10 +166,10 @@ module Wunderbar
166
166
 
167
167
  def compact!(&block)
168
168
  begin
169
- @indentation_enabled = false
169
+ indentation_enabled, @indentation_enabled = @indentation_enabled, false
170
170
  block.call
171
171
  ensure
172
- @indentation_enabled = true
172
+ @indentation_enabled = indentation_enabled
173
173
  end
174
174
  end
175
175
 
@@ -191,6 +191,7 @@ module Wunderbar
191
191
  [name, attr.value]
192
192
  }]
193
193
  end
194
+
194
195
  attributes.merge!(node.namespaces) if node.namespaces
195
196
  args.push attributes
196
197
  if node.namespace and node.namespace.prefix
@@ -198,6 +199,12 @@ module Wunderbar
198
199
  else
199
200
  sym = node.name
200
201
  end
202
+
203
+ unless Class === args.first
204
+ args.unshift PreformattedNode if sym == 'pre'
205
+ args.unshift ScriptNode if sym == 'script'
206
+ args.unshift StyleNode if sym == 'style'
207
+ end
201
208
  end
202
209
 
203
210
  if Class === args.first and args.first < Node
@@ -308,33 +315,8 @@ module Wunderbar
308
315
  elsif child.comment?
309
316
  comment! child.text.sub(/\A /,'').sub(/ \Z/, '')
310
317
  elsif HtmlMarkup.flatten? child.children
311
- block_element = Proc.new do |node|
312
- node.element? and HtmlMarkup::HTML5_BLOCK.include?(node.name)
313
- end
314
-
315
- if child.children.any?(&block_element)
316
- # indent children, but disable indentation on consecutive
317
- # sequences of non-block-elements. Put another way: break
318
- # out block elements to a new line.
319
- tag!(child) do
320
- children = child.children.to_a
321
- while not children.empty?
322
- stop = children.index(&block_element)
323
- if stop == 0
324
- self[children.shift]
325
- else
326
- compact!(nil) do
327
- self[*children.shift(stop || children.length)]
328
- end
329
- end
330
- end
331
- end
332
- else
333
- # disable indentation on the entire element
334
- compact! do
335
- tag!(child) {self[*child.children]}
336
- end
337
- end
318
+ # disable indentation on the entire element
319
+ compact! { tag!(child) {self[*child.children]} }
338
320
  elsif child.children.empty? and HtmlMarkup::VOID.include? child.name
339
321
  tag!(child)
340
322
  elsif child.children.all?(&:text?)
@@ -5,8 +5,7 @@ module Wunderbar
5
5
  def _script(*args, &block)
6
6
  args << {} unless Hash === args.last
7
7
  args.last[:lang] ||= 'text/javascript'
8
- args.unshift ScriptNode
9
- proxiable_tag! 'script', *args, &block
8
+ proxiable_tag! 'script', ScriptNode, *args, &block
10
9
  end
11
10
 
12
11
  def _style(*args, &block)
@@ -19,8 +18,7 @@ module Wunderbar
19
18
  end
20
19
  args << {} unless Hash === args.last
21
20
  args.last[:type] ||= 'text/css'
22
- args.unshift StyleNode
23
- proxiable_tag! 'style', *args, &block
21
+ proxiable_tag! 'style', StyleNode, *args, &block
24
22
  end
25
23
  end
26
24
 
@@ -124,7 +122,7 @@ module Wunderbar
124
122
  require 'pathname'
125
123
  base = @_scope.env['DOCUMENT_ROOT'] if @_scope.env.respond_to? :[]
126
124
  base ||= Dir.pwd
127
- base += head.children[1].attrs[:href]
125
+ base += (head.children[1].attrs[:href] || '')
128
126
  base += 'index.html' if base.end_with? '/'
129
127
  base = Pathname.new(base).parent
130
128
  prefix = Pathname.new(Dir.pwd).relative_path_from(base).to_s + '/'
@@ -292,7 +290,9 @@ module Wunderbar
292
290
 
293
291
  def _pre(*args, &block)
294
292
  args.first.chomp! if String === args.first and args.first.end_with? "\n"
295
- @_x.compact! { tag! :pre, *args, &block }
293
+ @_x.compact! do
294
+ proxiable_tag! :pre, PreformattedNode, *args, &block
295
+ end
296
296
  end
297
297
 
298
298
  def _ul(*args, &block)
@@ -351,7 +351,12 @@ module Wunderbar
351
351
  safe = true
352
352
 
353
353
  if ok and (children.include? '<' or children.include? '&')
354
- doc = Nokogiri::HTML::fragment(children.to_s)
354
+ if defined? Nokogiri::HTML5.fragment
355
+ doc = Nokogiri::HTML5.fragment(children.to_s)
356
+ else
357
+ doc = Nokogiri::HTML.fragment(children.to_s)
358
+ end
359
+
355
360
  Sanitize.new.clean_node! doc.dup.untaint if not safe
356
361
  children = doc.children.to_a
357
362
 
@@ -382,10 +387,13 @@ module Wunderbar
382
387
  @_x[*children]
383
388
  end
384
389
 
385
- def __(text=nil)
390
+ def __(text=nil, &block)
386
391
  if text
387
392
  @_x.spaced!
388
393
  @_x.indented_text! text
394
+ elsif block
395
+ @_x.spaced!
396
+ _ &block
389
397
  else
390
398
  @_x.text! ""
391
399
  end
@@ -46,10 +46,17 @@ module Wunderbar
46
46
  indent += options[:indent] if indent and parent
47
47
  first = true
48
48
  spaced = false
49
+
50
+ if preserve_spaces?
51
+ options = options.dup
52
+ options[:space] = :preserve
53
+ end
54
+
49
55
  children.each do |child|
50
56
  next unless child
51
57
  result << '' if (spaced or SpacedNode === child) and not first
52
58
  if String === child
59
+ child = child.gsub(/\s+/, ' ') unless options[:space] == :preserve
53
60
  result << child
54
61
  else
55
62
  child.serialize(options, result, indent)
@@ -70,22 +77,24 @@ module Wunderbar
70
77
  end
71
78
 
72
79
  if children.empty?
73
- if text
74
- if options[:pre]
75
- line += ">#{options[:pre]}#{text}#{options[:post]}</#{name}>"
76
- else
77
- width = options[:width] if name != :pre
80
+ if options[:pre]
81
+ line += ">#{options[:pre]}#{text}#{options[:post]}</#{name}>"
82
+ else
83
+ width = options[:width] unless preserve_spaces?
84
+
85
+ if text
78
86
  line += ">#{text.to_s.gsub(/[&<>]/,ESCAPE)}</#{name}>"
79
- if indent and width and line.length > width
80
- reflowed = IndentedTextNode.reflow(indent, line, width)
81
- line = reflowed.pop
82
- result.push *reflowed
83
- end
87
+ elsif VOID.include? name.to_s
88
+ line += "/>"
89
+ else
90
+ line += "></#{name}>"
91
+ end
92
+
93
+ if indent and width and line.length > width
94
+ reflowed = IndentedTextNode.reflow(indent, line, width)
95
+ line = reflowed.pop
96
+ result.push *reflowed
84
97
  end
85
- elsif VOID.include? name.to_s
86
- line += "/>"
87
- else
88
- line += "></#{name}>"
89
98
  end
90
99
  elsif CompactNode === self and not CompactNode === parent
91
100
  work = []
@@ -113,7 +122,7 @@ module Wunderbar
113
122
  line += ' ' + token
114
123
  else
115
124
  result << line
116
- line = indent.to_s + token
125
+ line = indent.to_s + options[:indent] + token
117
126
  end
118
127
  end
119
128
  end
@@ -131,6 +140,10 @@ module Wunderbar
131
140
  result << line if parent
132
141
  result
133
142
  end
143
+
144
+ def preserve_spaces?
145
+ false
146
+ end
134
147
  end
135
148
 
136
149
  class CommentNode
@@ -156,7 +169,13 @@ module Wunderbar
156
169
  end
157
170
  end
158
171
 
159
- class CDATANode < Node
172
+ class PreformattedNode < Node
173
+ def preserve_spaces?
174
+ true
175
+ end
176
+ end
177
+
178
+ class CDATANode < PreformattedNode
160
179
  def self.normalize(data, indent='')
161
180
  data = data.sub(/\n\s*\Z/, '').sub(/\A\s*\n/, '')
162
181
 
@@ -177,7 +196,7 @@ module Wunderbar
177
196
  end
178
197
 
179
198
  if @text and @text =~ /[<^>]/
180
- indent += ' ' if indent
199
+ indent += options[:indent] if indent
181
200
  children.unshift @text.gsub(/^/, indent).gsub(/^ +$/,'').rstrip
182
201
  @text = nil
183
202
  super(options.merge(pre: pre, post: post), result, indent)
@@ -195,13 +214,19 @@ module Wunderbar
195
214
  end
196
215
 
197
216
  def serialize(options, result, indent)
198
- result << @text.to_s.gsub(/[&<>]/,ESCAPE)
217
+ if options[:space] == :preserve
218
+ result << @text.to_s.gsub(/[&<>]/,ESCAPE)
219
+ else
220
+ result << @text.to_s.gsub(/[&<>]/,ESCAPE).gsub(/\s+/, ' ')
221
+ end
199
222
  end
200
223
  end
201
224
 
202
225
  class IndentedTextNode < TextNode
203
226
  def self.reflow(indent, line, width)
204
- return [line] if line.include? "\n" or not width
227
+ return [line] unless width and indent
228
+ line = indent + line.gsub!(/\s+/, ' ').strip
229
+ indent += ' '
205
230
 
206
231
  result = []
207
232
  while line.length > width
@@ -9,7 +9,7 @@ module Wunderbar
9
9
  class ScriptNode
10
10
  attr_accessor :block, :binding
11
11
  def serialize(options, result, indent)
12
- if @block
12
+ if @block and @children.empty? and not @text
13
13
  width = options[:width]
14
14
  width -= indent.to_s.length if width
15
15
  @text = Ruby2JS.convert(@block, binding: @binding, width: width)
@@ -1,8 +1,8 @@
1
1
  module Wunderbar
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
- MINOR = 21
5
- TINY = 4
4
+ MINOR = 22
5
+ TINY = 0
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
data/wunderbar.gemspec CHANGED
@@ -2,22 +2,22 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "wunderbar"
5
- s.version = "0.21.4"
5
+ s.version = "0.22.0"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Sam Ruby"]
9
- s.date = "2014-06-24"
9
+ s.date = "2014-12-23"
10
10
  s.description = " Wunderbar makes it easy to produce valid HTML5, wellformed XHTML, Unicode\n (utf-8), consistently indented, readable applications. This includes\n output that conforms to the Polyglot specification and the emerging\n results from the XML Error Recovery Community Group.\n"
11
11
  s.email = "rubys@intertwingly.net"
12
- s.files = ["wunderbar.gemspec", "README.md", "COPYING", "lib/wunderbar", "lib/wunderbar/angularjs", "lib/wunderbar/angularjs/resource.rb", "lib/wunderbar/angularjs/route.rb", "lib/wunderbar/angularjs.rb", "lib/wunderbar/asset.rb", "lib/wunderbar/backtick.rb", "lib/wunderbar/bootstrap", "lib/wunderbar/bootstrap/theme.rb", "lib/wunderbar/bootstrap.rb", "lib/wunderbar/builder.rb", "lib/wunderbar/cgi-methods.rb", "lib/wunderbar/coderay.rb", "lib/wunderbar/coffeescript.rb", "lib/wunderbar/cssproxy.rb", "lib/wunderbar/environment.rb", "lib/wunderbar/html-methods.rb", "lib/wunderbar/installation.rb", "lib/wunderbar/job-control.rb", "lib/wunderbar/jquery", "lib/wunderbar/jquery/filter.rb", "lib/wunderbar/jquery/stupidtable.rb", "lib/wunderbar/jquery.rb", "lib/wunderbar/logger.rb", "lib/wunderbar/markdown.rb", "lib/wunderbar/node.rb", "lib/wunderbar/opal", "lib/wunderbar/opal/browser.rb", "lib/wunderbar/opal/jquery.rb", "lib/wunderbar/opal.rb", "lib/wunderbar/pagedown.rb", "lib/wunderbar/polymer.rb", "lib/wunderbar/rack.rb", "lib/wunderbar/rails.rb", "lib/wunderbar/script.rb", "lib/wunderbar/server.rb", "lib/wunderbar/sinatra.rb", "lib/wunderbar/underscore.rb", "lib/wunderbar/vendor", "lib/wunderbar/vendor/angular-resource.min.js", "lib/wunderbar/vendor/angular-route.min.js", "lib/wunderbar/vendor/angular.min.js", "lib/wunderbar/vendor/bootstrap-theme.min.css", "lib/wunderbar/vendor/bootstrap.min.css", "lib/wunderbar/vendor/bootstrap.min.js", "lib/wunderbar/vendor/jquery-1.11.0.min.js", "lib/wunderbar/vendor/Markdown.Converter.js", "lib/wunderbar/vendor/polymer-v0.0.20131003.min.js", "lib/wunderbar/vendor/stupidtable.min.js", "lib/wunderbar/vendor/underscore-min.js", "lib/wunderbar/version.rb", "lib/wunderbar/websocket.rb", "lib/wunderbar.rb"]
12
+ s.files = ["wunderbar.gemspec", "README.md", "COPYING", "lib/wunderbar.rb", "lib/wunderbar", "lib/wunderbar/script.rb", "lib/wunderbar/jquery.rb", "lib/wunderbar/underscore.rb", "lib/wunderbar/polymer.rb", "lib/wunderbar/jquery", "lib/wunderbar/jquery/filter.rb", "lib/wunderbar/jquery/stupidtable.rb", "lib/wunderbar/vendor", "lib/wunderbar/vendor/polymer-v0.0.20131003.min.js", "lib/wunderbar/vendor/stupidtable.min.js", "lib/wunderbar/vendor/bootstrap.min.js", "lib/wunderbar/vendor/Markdown.Converter.js", "lib/wunderbar/vendor/angular.min.js", "lib/wunderbar/vendor/bootstrap-theme.min.css", "lib/wunderbar/vendor/jquery-1.11.0.min.js", "lib/wunderbar/vendor/angular-resource.min.js", "lib/wunderbar/vendor/bootstrap.min.css", "lib/wunderbar/vendor/underscore-min.js", "lib/wunderbar/vendor/angular-route.min.js", "lib/wunderbar/websocket.rb", "lib/wunderbar/environment.rb", "lib/wunderbar/pagedown.rb", "lib/wunderbar/version.rb", "lib/wunderbar/cgi-methods.rb", "lib/wunderbar/server.rb", "lib/wunderbar/angularjs.rb", "lib/wunderbar/logger.rb", "lib/wunderbar/asset.rb", "lib/wunderbar/backtick.rb", "lib/wunderbar/opal", "lib/wunderbar/opal/browser.rb", "lib/wunderbar/opal/jquery.rb", "lib/wunderbar/coffeescript.rb", "lib/wunderbar/markdown.rb", "lib/wunderbar/opal.rb", "lib/wunderbar/installation.rb", "lib/wunderbar/bootstrap.rb", "lib/wunderbar/job-control.rb", "lib/wunderbar/sinatra.rb", "lib/wunderbar/rails.rb", "lib/wunderbar/angularjs", "lib/wunderbar/angularjs/resource.rb", "lib/wunderbar/angularjs/route.rb", "lib/wunderbar/rack.rb", "lib/wunderbar/coderay.rb", "lib/wunderbar/builder.rb", "lib/wunderbar/bootstrap", "lib/wunderbar/bootstrap/theme.rb", "lib/wunderbar/cssproxy.rb", "lib/wunderbar/html-methods.rb", "lib/wunderbar/node.rb"]
13
13
  s.homepage = "http://github.com/rubys/wunderbar"
14
14
  s.licenses = ["MIT"]
15
15
  s.require_paths = ["lib"]
16
- s.rubygems_version = "2.0.14"
16
+ s.rubygems_version = "1.8.23"
17
17
  s.summary = "HTML Generator and CGI application support"
18
18
 
19
19
  if s.respond_to? :specification_version then
20
- s.specification_version = 4
20
+ s.specification_version = 3
21
21
 
22
22
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
23
23
  s.add_runtime_dependency(%q<json>, [">= 0"])
metadata CHANGED
@@ -1,34 +1,36 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wunderbar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.4
4
+ version: 0.22.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Sam Ruby
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-06-24 00:00:00.000000000 Z
12
+ date: 2014-12-23 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: json
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - '>='
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: '0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - '>='
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '0'
27
- description: |2
28
- Wunderbar makes it easy to produce valid HTML5, wellformed XHTML, Unicode
29
- (utf-8), consistently indented, readable applications. This includes
30
- output that conforms to the Polyglot specification and the emerging
31
- results from the XML Error Recovery Community Group.
30
+ description: ! " Wunderbar makes it easy to produce valid HTML5, wellformed XHTML,
31
+ Unicode\n (utf-8), consistently indented, readable applications. This includes\n
32
+ \ output that conforms to the Polyglot specification and the emerging\n results
33
+ from the XML Error Recovery Community Group.\n"
32
34
  email: rubys@intertwingly.net
33
35
  executables: []
34
36
  extensions: []
@@ -37,75 +39,76 @@ files:
37
39
  - wunderbar.gemspec
38
40
  - README.md
39
41
  - COPYING
40
- - lib/wunderbar/angularjs/resource.rb
41
- - lib/wunderbar/angularjs/route.rb
42
+ - lib/wunderbar.rb
43
+ - lib/wunderbar/script.rb
44
+ - lib/wunderbar/jquery.rb
45
+ - lib/wunderbar/underscore.rb
46
+ - lib/wunderbar/polymer.rb
47
+ - lib/wunderbar/jquery/filter.rb
48
+ - lib/wunderbar/jquery/stupidtable.rb
49
+ - lib/wunderbar/vendor/polymer-v0.0.20131003.min.js
50
+ - lib/wunderbar/vendor/stupidtable.min.js
51
+ - lib/wunderbar/vendor/bootstrap.min.js
52
+ - lib/wunderbar/vendor/Markdown.Converter.js
53
+ - lib/wunderbar/vendor/angular.min.js
54
+ - lib/wunderbar/vendor/bootstrap-theme.min.css
55
+ - lib/wunderbar/vendor/jquery-1.11.0.min.js
56
+ - lib/wunderbar/vendor/angular-resource.min.js
57
+ - lib/wunderbar/vendor/bootstrap.min.css
58
+ - lib/wunderbar/vendor/underscore-min.js
59
+ - lib/wunderbar/vendor/angular-route.min.js
60
+ - lib/wunderbar/websocket.rb
61
+ - lib/wunderbar/environment.rb
62
+ - lib/wunderbar/pagedown.rb
63
+ - lib/wunderbar/version.rb
64
+ - lib/wunderbar/cgi-methods.rb
65
+ - lib/wunderbar/server.rb
42
66
  - lib/wunderbar/angularjs.rb
67
+ - lib/wunderbar/logger.rb
43
68
  - lib/wunderbar/asset.rb
44
69
  - lib/wunderbar/backtick.rb
45
- - lib/wunderbar/bootstrap/theme.rb
70
+ - lib/wunderbar/opal/browser.rb
71
+ - lib/wunderbar/opal/jquery.rb
72
+ - lib/wunderbar/coffeescript.rb
73
+ - lib/wunderbar/markdown.rb
74
+ - lib/wunderbar/opal.rb
75
+ - lib/wunderbar/installation.rb
46
76
  - lib/wunderbar/bootstrap.rb
47
- - lib/wunderbar/builder.rb
48
- - lib/wunderbar/cgi-methods.rb
77
+ - lib/wunderbar/job-control.rb
78
+ - lib/wunderbar/sinatra.rb
79
+ - lib/wunderbar/rails.rb
80
+ - lib/wunderbar/angularjs/resource.rb
81
+ - lib/wunderbar/angularjs/route.rb
82
+ - lib/wunderbar/rack.rb
49
83
  - lib/wunderbar/coderay.rb
50
- - lib/wunderbar/coffeescript.rb
84
+ - lib/wunderbar/builder.rb
85
+ - lib/wunderbar/bootstrap/theme.rb
51
86
  - lib/wunderbar/cssproxy.rb
52
- - lib/wunderbar/environment.rb
53
87
  - lib/wunderbar/html-methods.rb
54
- - lib/wunderbar/installation.rb
55
- - lib/wunderbar/job-control.rb
56
- - lib/wunderbar/jquery/filter.rb
57
- - lib/wunderbar/jquery/stupidtable.rb
58
- - lib/wunderbar/jquery.rb
59
- - lib/wunderbar/logger.rb
60
- - lib/wunderbar/markdown.rb
61
88
  - lib/wunderbar/node.rb
62
- - lib/wunderbar/opal/browser.rb
63
- - lib/wunderbar/opal/jquery.rb
64
- - lib/wunderbar/opal.rb
65
- - lib/wunderbar/pagedown.rb
66
- - lib/wunderbar/polymer.rb
67
- - lib/wunderbar/rack.rb
68
- - lib/wunderbar/rails.rb
69
- - lib/wunderbar/script.rb
70
- - lib/wunderbar/server.rb
71
- - lib/wunderbar/sinatra.rb
72
- - lib/wunderbar/underscore.rb
73
- - lib/wunderbar/vendor/angular-resource.min.js
74
- - lib/wunderbar/vendor/angular-route.min.js
75
- - lib/wunderbar/vendor/angular.min.js
76
- - lib/wunderbar/vendor/bootstrap-theme.min.css
77
- - lib/wunderbar/vendor/bootstrap.min.css
78
- - lib/wunderbar/vendor/bootstrap.min.js
79
- - lib/wunderbar/vendor/jquery-1.11.0.min.js
80
- - lib/wunderbar/vendor/Markdown.Converter.js
81
- - lib/wunderbar/vendor/polymer-v0.0.20131003.min.js
82
- - lib/wunderbar/vendor/stupidtable.min.js
83
- - lib/wunderbar/vendor/underscore-min.js
84
- - lib/wunderbar/version.rb
85
- - lib/wunderbar/websocket.rb
86
- - lib/wunderbar.rb
87
89
  homepage: http://github.com/rubys/wunderbar
88
90
  licenses:
89
91
  - MIT
90
- metadata: {}
91
92
  post_install_message:
92
93
  rdoc_options: []
93
94
  require_paths:
94
95
  - lib
95
96
  required_ruby_version: !ruby/object:Gem::Requirement
97
+ none: false
96
98
  requirements:
97
- - - '>='
99
+ - - ! '>='
98
100
  - !ruby/object:Gem::Version
99
101
  version: '0'
100
102
  required_rubygems_version: !ruby/object:Gem::Requirement
103
+ none: false
101
104
  requirements:
102
- - - '>='
105
+ - - ! '>='
103
106
  - !ruby/object:Gem::Version
104
107
  version: '0'
105
108
  requirements: []
106
109
  rubyforge_project:
107
- rubygems_version: 2.0.14
110
+ rubygems_version: 1.8.23
108
111
  signing_key:
109
- specification_version: 4
112
+ specification_version: 3
110
113
  summary: HTML Generator and CGI application support
111
114
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 8badf15d87c160ff80047cf11daa11c075f52cd1
4
- data.tar.gz: 49055a8e408472bfa4b868ea45dfbf3133aa09d4
5
- SHA512:
6
- metadata.gz: b325a928ba13e21146b98ecaea45a1eb53e7cece7e37c076f07b278373d9674798420370e295c798be7b20739106a189bba9095373ad45d22d3b0a8e3655eaa2
7
- data.tar.gz: 76b378725828ff67d819119459e7aa480b9bd33d0284bd8dae28e37728e7fdcbdeb98f62933ee9f08b23d5993ea1024da7346d792f1e92a7fa3e0d6d2d2a8fd4