wunderbar 0.19.0 → 0.19.1
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.
- checksums.yaml +15 -0
- data/README.md +3 -7
- data/lib/wunderbar/asset.rb +11 -0
- data/lib/wunderbar/cgi-methods.rb +2 -1
- data/lib/wunderbar/html-methods.rb +20 -20
- data/lib/wunderbar/jquery.rb +6 -4
- data/lib/wunderbar/version.rb +1 -1
- data/wunderbar.gemspec +5 -5
- metadata +39 -38
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ZGRmMDMxMzI4Y2JkMWZjYjIyNjZiYzhkMzY2YjEzNjcwODhjODQxZA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
OTAyMGVlNzBjMDllYzFlMmI2ZDgwM2ZlNzkxYzlkMTBiMmFiMWEyMQ==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
Mjk1MGUzMWZmZTVhMzRjOTg1OWU3YWI2ODkwNThlMWUzN2U0NzRmNGU3OGJk
|
10
|
+
N2NiMzQ0MDgzYmQ3ZjIxMTk3MzNjOTMxMzdiZmMyOTdhZjJlZDNmNjhkMzA2
|
11
|
+
YTg2MDllNDY3YTkzZTZiOTlhMDJmNGZmMWJjNWM0ODUwY2FlNjU=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
ODM2ODg1ZjkyNDBkMjg0NDg0ODc3YTk5NTVmZjc1ZjNiMmNjODQ4ODNhYjEx
|
14
|
+
YWQ0ZjczYjY3ODlhZmYzM2IxYzFlYWJiNTkxMTdlOWVkOWI4MDA4NDc5MGZh
|
15
|
+
Yzk2NmZhZjllYTU4ZTZlNzY5ZTU4MGJjNGU2ZWFmODI5MzdlZTY=
|
data/README.md
CHANGED
@@ -18,6 +18,9 @@ Wunderbar's JSON support is inspired by David Heinemeier Hansson's
|
|
18
18
|
|
19
19
|
A [tutorial](https://github.com/rubys/wunderbar/blob/master/docs/Introduction1.md) is under development.
|
20
20
|
|
21
|
+
Additional functionality is provided by
|
22
|
+
[extensions](https://github.com/rubys/wunderbar/blob/master/docs/Extensions.md).
|
23
|
+
|
21
24
|
Overview
|
22
25
|
---
|
23
26
|
|
@@ -392,13 +395,6 @@ Also, the following environment variables are set if they aren't already:
|
|
392
395
|
Finally, the (Ruby 1.9.x) default external and internal encodings are set to
|
393
396
|
UTF-8. For Ruby 1.8, `$KCODE` is set to `U`
|
394
397
|
|
395
|
-
Builder extensions
|
396
|
-
---
|
397
|
-
* `indented_text!`: matches text indentation to markup
|
398
|
-
* `indented_data!`: useful for script and styles in HTML syntax
|
399
|
-
* `disable_indentation!`: temporarily disable insertion of whitespace
|
400
|
-
* `margin!`: insert blank lines between tags
|
401
|
-
|
402
398
|
Logging:
|
403
399
|
---
|
404
400
|
* `_.debug`: debug messages
|
data/lib/wunderbar/asset.rb
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
#
|
2
|
+
# Web frameworks often require a set of JavaScript and/or CSS stylesheet files
|
3
|
+
# to be pulled in. Asset support makes it easy to deploy such files to be
|
4
|
+
# deployed statically; and furthermore to automatically insert the relevant
|
5
|
+
# <script src> or <link rel="stylesheet"> lines to the <head> section of your
|
6
|
+
# HTML.
|
7
|
+
#
|
8
|
+
# For examples, see angularjs.rb, jquery.rb, opal.rb, pagedown.rb, or
|
9
|
+
# polymer.rb.
|
10
|
+
#
|
11
|
+
|
1
12
|
require 'fileutils'
|
2
13
|
|
3
14
|
module Wunderbar
|
@@ -5,7 +5,8 @@ module Wunderbar
|
|
5
5
|
|
6
6
|
# produce json
|
7
7
|
def json(scope, &block)
|
8
|
-
headers = { 'type' => 'application/json', '
|
8
|
+
headers = { 'type' => 'application/json', 'charset' => 'UTF-8',
|
9
|
+
'Cache-Control' => 'no-cache' }
|
9
10
|
builder = JsonBuilder.new(scope)
|
10
11
|
output = builder.encode(&block)
|
11
12
|
headers['status'] = "404 Not Found" if output == {}
|
@@ -41,7 +41,7 @@ module Wunderbar
|
|
41
41
|
|
42
42
|
def initialize(scope)
|
43
43
|
@_scope = scope
|
44
|
-
@
|
44
|
+
@_x = XmlMarkup.new :scope => scope, :indent => 2
|
45
45
|
end
|
46
46
|
|
47
47
|
def html(*args, &block)
|
@@ -49,7 +49,7 @@ module Wunderbar
|
|
49
49
|
args << {} if args.empty?
|
50
50
|
if Hash === args.first
|
51
51
|
args.first[:xmlns] ||= 'http://www.w3.org/1999/xhtml'
|
52
|
-
@
|
52
|
+
@_x.width = args.first.delete(:_width).to_i if args.first[:_width]
|
53
53
|
end
|
54
54
|
|
55
55
|
if ''.respond_to? :encoding
|
@@ -58,7 +58,7 @@ module Wunderbar
|
|
58
58
|
bom = "\xEF\xBB\xBF"
|
59
59
|
end
|
60
60
|
|
61
|
-
@
|
61
|
+
@_x.declare! :DOCTYPE, :html
|
62
62
|
html = tag! :html, *args do
|
63
63
|
set_variables_from_params
|
64
64
|
instance_eval(&block)
|
@@ -89,7 +89,7 @@ module Wunderbar
|
|
89
89
|
end
|
90
90
|
end
|
91
91
|
|
92
|
-
@
|
92
|
+
@_x.instance_eval {@node = html}
|
93
93
|
head = _head_ if not head
|
94
94
|
body = _body nil if not body
|
95
95
|
html.children.unshift(head.parent.children.delete(head))
|
@@ -115,7 +115,7 @@ module Wunderbar
|
|
115
115
|
head.children.insert 1, head.children.delete_at(title)
|
116
116
|
end
|
117
117
|
|
118
|
-
bom + @
|
118
|
+
bom + @_x.target!
|
119
119
|
end
|
120
120
|
|
121
121
|
def _html(*args, &block)
|
@@ -134,7 +134,7 @@ module Wunderbar
|
|
134
134
|
end
|
135
135
|
|
136
136
|
if name.sub!(/_$/,'')
|
137
|
-
@
|
137
|
+
@_x.spaced!
|
138
138
|
return __send__ "_#{name}", *args, &block if respond_to? "_#{name}"
|
139
139
|
end
|
140
140
|
|
@@ -150,7 +150,7 @@ module Wunderbar
|
|
150
150
|
end
|
151
151
|
|
152
152
|
if flag == '!'
|
153
|
-
@
|
153
|
+
@_x.compact! { tag! name, *args, &block }
|
154
154
|
elsif flag == '?'
|
155
155
|
# capture exceptions, produce filtered tracebacks
|
156
156
|
tag!(name, *args) do
|
@@ -186,7 +186,7 @@ module Wunderbar
|
|
186
186
|
end
|
187
187
|
|
188
188
|
def tag!(name, *args, &block)
|
189
|
-
node = @
|
189
|
+
node = @_x.tag! name, *args, &block
|
190
190
|
if !block and args.empty?
|
191
191
|
CssProxy.new(self, node)
|
192
192
|
else
|
@@ -195,7 +195,7 @@ module Wunderbar
|
|
195
195
|
end
|
196
196
|
|
197
197
|
def proxiable_tag!(name, *args, &block)
|
198
|
-
node = @
|
198
|
+
node = @_x.tag! name, *args, &block
|
199
199
|
if !block
|
200
200
|
CssProxy.new(self, node)
|
201
201
|
else
|
@@ -243,7 +243,7 @@ module Wunderbar
|
|
243
243
|
if args.length >= 1 and String === args.first and args.first.include? "\n"
|
244
244
|
text = args.shift
|
245
245
|
tag! :p, *args do
|
246
|
-
@
|
246
|
+
@_x.indented_text! text
|
247
247
|
end
|
248
248
|
else
|
249
249
|
super
|
@@ -266,7 +266,7 @@ module Wunderbar
|
|
266
266
|
|
267
267
|
def _pre(*args, &block)
|
268
268
|
args.first.chomp! if String === args.first and args.first.end_with? "\n"
|
269
|
-
@
|
269
|
+
@_x.compact! { tag! :pre, *args, &block }
|
270
270
|
end
|
271
271
|
|
272
272
|
def _ul(*args, &block)
|
@@ -300,7 +300,7 @@ module Wunderbar
|
|
300
300
|
end
|
301
301
|
|
302
302
|
def _!(text)
|
303
|
-
@
|
303
|
+
@_x.text! text.to_s.chomp
|
304
304
|
end
|
305
305
|
|
306
306
|
def _(text=nil, &block)
|
@@ -309,10 +309,10 @@ module Wunderbar
|
|
309
309
|
if text.respond_to? :html_safe? and text.html_safe?
|
310
310
|
_ {text}
|
311
311
|
else
|
312
|
-
@
|
312
|
+
@_x.indented_text! text.to_s
|
313
313
|
end
|
314
314
|
end
|
315
|
-
return @
|
315
|
+
return @_x
|
316
316
|
end
|
317
317
|
|
318
318
|
children = block.call
|
@@ -349,24 +349,24 @@ module Wunderbar
|
|
349
349
|
children.unshift head
|
350
350
|
end
|
351
351
|
else
|
352
|
-
return @
|
352
|
+
return @_x.indented_text! children
|
353
353
|
end
|
354
354
|
end
|
355
355
|
|
356
|
-
@
|
356
|
+
@_x[*children]
|
357
357
|
end
|
358
358
|
|
359
359
|
def __(text=nil)
|
360
360
|
if text
|
361
|
-
@
|
362
|
-
@
|
361
|
+
@_x.spaced!
|
362
|
+
@_x.indented_text! text
|
363
363
|
else
|
364
|
-
@
|
364
|
+
@_x.text! ""
|
365
365
|
end
|
366
366
|
end
|
367
367
|
|
368
368
|
def clear!
|
369
|
-
@
|
369
|
+
@_x.clear!
|
370
370
|
end
|
371
371
|
|
372
372
|
def self.flatten?(children)
|
data/lib/wunderbar/jquery.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
require 'wunderbar'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
unless defined? Opal
|
4
|
+
begin
|
5
|
+
require 'ruby2js/filter/jquery'
|
6
|
+
require 'wunderbar/script'
|
7
|
+
rescue LoadError
|
8
|
+
end
|
7
9
|
end
|
8
10
|
|
9
11
|
source = Dir[File.expand_path('../vendor/jquery-*.min.js', __FILE__)].
|
data/lib/wunderbar/version.rb
CHANGED
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.19.
|
5
|
+
s.version = "0.19.1"
|
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 = "2013-12-
|
9
|
+
s.date = "2013-12-11"
|
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
|
12
|
+
s.files = ["wunderbar.gemspec", "README.md", "COPYING", "lib/wunderbar.rb", "lib/wunderbar", "lib/wunderbar/logger.rb", "lib/wunderbar/coderay.rb", "lib/wunderbar/rails.rb", "lib/wunderbar/builder.rb", "lib/wunderbar/coffeescript.rb", "lib/wunderbar/vendor", "lib/wunderbar/vendor/polymer-v0.0.20131003.min.js", "lib/wunderbar/vendor/angular-resource.min.js", "lib/wunderbar/vendor/jquery-1.10.2.min.js", "lib/wunderbar/vendor/Markdown.Converter.js", "lib/wunderbar/vendor/angular-route.min.js", "lib/wunderbar/vendor/angular.min.js", "lib/wunderbar/vendor/stupidtable.min.js", "lib/wunderbar/markdown.rb", "lib/wunderbar/environment.rb", "lib/wunderbar/pagedown.rb", "lib/wunderbar/server.rb", "lib/wunderbar/polymer.rb", "lib/wunderbar/version.rb", "lib/wunderbar/node.rb", "lib/wunderbar/asset.rb", "lib/wunderbar/script.rb", "lib/wunderbar/websocket.rb", "lib/wunderbar/jquery", "lib/wunderbar/jquery/stupidtable.rb", "lib/wunderbar/angularjs", "lib/wunderbar/angularjs/route.rb", "lib/wunderbar/angularjs/resource.rb", "lib/wunderbar/opal", "lib/wunderbar/opal/browser.rb", "lib/wunderbar/opal/jquery.rb", "lib/wunderbar/html-methods.rb", "lib/wunderbar/job-control.rb", "lib/wunderbar/cssproxy.rb", "lib/wunderbar/angularjs.rb", "lib/wunderbar/jquery.rb", "lib/wunderbar/cgi-methods.rb", "lib/wunderbar/sinatra.rb", "lib/wunderbar/rack.rb", "lib/wunderbar/opal.rb", "lib/wunderbar/installation.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 = "
|
16
|
+
s.rubygems_version = "2.0.7"
|
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 =
|
20
|
+
s.specification_version = 4
|
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,27 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wunderbar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.19.
|
5
|
-
prerelease:
|
4
|
+
version: 0.19.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Sam Ruby
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-11 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: json
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
17
|
- - ! '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ! '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
25
27
|
description: ! " Wunderbar makes it easy to produce valid HTML5, wellformed XHTML,
|
26
28
|
Unicode\n (utf-8), consistently indented, readable applications. This includes\n
|
27
29
|
\ output that conforms to the Polyglot specification and the emerging\n results
|
@@ -34,67 +36,66 @@ files:
|
|
34
36
|
- wunderbar.gemspec
|
35
37
|
- README.md
|
36
38
|
- COPYING
|
37
|
-
- lib/wunderbar
|
38
|
-
- lib/wunderbar/
|
39
|
-
- lib/wunderbar/
|
40
|
-
- lib/wunderbar/
|
41
|
-
- lib/wunderbar/
|
42
|
-
- lib/wunderbar/opal.rb
|
39
|
+
- lib/wunderbar.rb
|
40
|
+
- lib/wunderbar/logger.rb
|
41
|
+
- lib/wunderbar/coderay.rb
|
42
|
+
- lib/wunderbar/rails.rb
|
43
|
+
- lib/wunderbar/builder.rb
|
43
44
|
- lib/wunderbar/coffeescript.rb
|
44
|
-
- lib/wunderbar/jquery.rb
|
45
|
-
- lib/wunderbar/sinatra.rb
|
46
|
-
- lib/wunderbar/node.rb
|
47
|
-
- lib/wunderbar/vendor/angular.min.js
|
48
|
-
- lib/wunderbar/vendor/angular-route.min.js
|
49
45
|
- lib/wunderbar/vendor/polymer-v0.0.20131003.min.js
|
50
|
-
- lib/wunderbar/vendor/
|
46
|
+
- lib/wunderbar/vendor/angular-resource.min.js
|
51
47
|
- lib/wunderbar/vendor/jquery-1.10.2.min.js
|
48
|
+
- lib/wunderbar/vendor/Markdown.Converter.js
|
49
|
+
- lib/wunderbar/vendor/angular-route.min.js
|
50
|
+
- lib/wunderbar/vendor/angular.min.js
|
52
51
|
- lib/wunderbar/vendor/stupidtable.min.js
|
53
|
-
- lib/wunderbar/
|
54
|
-
- lib/wunderbar/
|
52
|
+
- lib/wunderbar/markdown.rb
|
53
|
+
- lib/wunderbar/environment.rb
|
55
54
|
- lib/wunderbar/pagedown.rb
|
55
|
+
- lib/wunderbar/server.rb
|
56
|
+
- lib/wunderbar/polymer.rb
|
57
|
+
- lib/wunderbar/version.rb
|
58
|
+
- lib/wunderbar/node.rb
|
59
|
+
- lib/wunderbar/asset.rb
|
60
|
+
- lib/wunderbar/script.rb
|
61
|
+
- lib/wunderbar/websocket.rb
|
62
|
+
- lib/wunderbar/jquery/stupidtable.rb
|
56
63
|
- lib/wunderbar/angularjs/route.rb
|
57
64
|
- lib/wunderbar/angularjs/resource.rb
|
58
|
-
- lib/wunderbar/logger.rb
|
59
|
-
- lib/wunderbar/job-control.rb
|
60
|
-
- lib/wunderbar/rack.rb
|
61
65
|
- lib/wunderbar/opal/browser.rb
|
62
66
|
- lib/wunderbar/opal/jquery.rb
|
63
|
-
- lib/wunderbar/polymer.rb
|
64
|
-
- lib/wunderbar/cgi-methods.rb
|
65
|
-
- lib/wunderbar/jquery/stupidtable.rb
|
66
|
-
- lib/wunderbar/cssproxy.rb
|
67
|
-
- lib/wunderbar/version.rb
|
68
|
-
- lib/wunderbar/coderay.rb
|
69
67
|
- lib/wunderbar/html-methods.rb
|
70
|
-
- lib/wunderbar/
|
71
|
-
- lib/wunderbar/
|
72
|
-
- lib/wunderbar/
|
73
|
-
- lib/wunderbar/
|
74
|
-
- lib/wunderbar.rb
|
68
|
+
- lib/wunderbar/job-control.rb
|
69
|
+
- lib/wunderbar/cssproxy.rb
|
70
|
+
- lib/wunderbar/angularjs.rb
|
71
|
+
- lib/wunderbar/jquery.rb
|
72
|
+
- lib/wunderbar/cgi-methods.rb
|
73
|
+
- lib/wunderbar/sinatra.rb
|
74
|
+
- lib/wunderbar/rack.rb
|
75
|
+
- lib/wunderbar/opal.rb
|
76
|
+
- lib/wunderbar/installation.rb
|
75
77
|
homepage: http://github.com/rubys/wunderbar
|
76
78
|
licenses:
|
77
79
|
- MIT
|
80
|
+
metadata: {}
|
78
81
|
post_install_message:
|
79
82
|
rdoc_options: []
|
80
83
|
require_paths:
|
81
84
|
- lib
|
82
85
|
required_ruby_version: !ruby/object:Gem::Requirement
|
83
|
-
none: false
|
84
86
|
requirements:
|
85
87
|
- - ! '>='
|
86
88
|
- !ruby/object:Gem::Version
|
87
89
|
version: '0'
|
88
90
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
91
|
requirements:
|
91
92
|
- - ! '>='
|
92
93
|
- !ruby/object:Gem::Version
|
93
94
|
version: '0'
|
94
95
|
requirements: []
|
95
96
|
rubyforge_project:
|
96
|
-
rubygems_version:
|
97
|
+
rubygems_version: 2.0.7
|
97
98
|
signing_key:
|
98
|
-
specification_version:
|
99
|
+
specification_version: 4
|
99
100
|
summary: HTML Generator and CGI application support
|
100
101
|
test_files: []
|