haml 4.0.2 → 4.0.3
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of haml might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/CHANGELOG.md +12 -0
- data/FAQ.md +3 -4
- data/REFERENCE.md +40 -3
- data/lib/haml/helpers.rb +42 -28
- data/lib/haml/helpers/safe_erubis_template.rb +12 -3
- data/lib/haml/version.rb +1 -1
- data/test/gemfiles/Gemfile.rails-3.2.x.lock +98 -0
- data/test/gemfiles/Gemfile.rails-4.0.x +1 -1
- data/test/gemfiles/Gemfile.rails-4.0.x.lock +101 -0
- data/test/helper_test.rb +13 -0
- data/test/template_test.rb +1 -1
- metadata +37 -64
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3ad1bdf5a3b2dd7640c52431d20dfb27e66abe5c
|
4
|
+
data.tar.gz: 65f0b74296b54a195fc96ee9a38b981a17044d73
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 80b52becc93a09815980961c99e5c8cea42fddd48eb21c6d446f840e1271459bc71f72d21cee9ab05954eb5bbbad21cab5ce3449b73892873880b9407aedeed3
|
7
|
+
data.tar.gz: 18f0b05ebaf47f777b76ee5979d9cb2253be69f0918b797fab8afb22b440275aea29c3e51b1fb02981646665cb29b85377484062c9ce9b5e888092f4ecaafed8
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
# Haml Changelog
|
2
2
|
|
3
|
+
## 4.0.3
|
4
|
+
|
5
|
+
Released May 21, 2013 ([diff](https://github.com/haml/haml/compare/4.0.2...4.0.3)).
|
6
|
+
|
7
|
+
* Compatibility with newer versions of Rails's Erubis handler.
|
8
|
+
* Fix Erubis handler for compatibility with Tilt 1.4.x, too.
|
9
|
+
* Small performance optimization for html_escape.
|
10
|
+
(thanks [Lachlan Sylvester](https://github.com/lsylvester))
|
11
|
+
* Documentation fixes.
|
12
|
+
* Documented some helper methods that were left out of the reference.
|
13
|
+
(thanks [Shane Riley](https://github.com/shaneriley))
|
14
|
+
|
3
15
|
## 4.0.2
|
4
16
|
|
5
17
|
Released April 5, 2013 ([diff](https://github.com/haml/haml/compare/4.0.1...4.0.2)).
|
data/FAQ.md
CHANGED
@@ -5,9 +5,8 @@
|
|
5
5
|
### Why is my markup indented properly in development mode, but not in production?
|
6
6
|
{#q-indentation-in-production}
|
7
7
|
|
8
|
-
To improve performance, Haml defaults to {
|
9
|
-
apps running in production.
|
10
|
-
|
8
|
+
To improve performance, Haml defaults to {Haml::Options#ugly "ugly" mode} in
|
9
|
+
Rails apps running in production.
|
11
10
|
|
12
11
|
### How do I put a punctuation mark after an element, like "`I like <strong>cake</strong>!`"?
|
13
12
|
{#q-punctuation}
|
@@ -50,7 +49,7 @@ which Haml does using the {Haml::Helpers#preserve} and {Haml::Helpers#find_and_p
|
|
50
49
|
|
51
50
|
Normally, Haml will do this for you automatically
|
52
51
|
when you're using a tag that needs it
|
53
|
-
(this can be customized using the {
|
52
|
+
(this can be customized using the {Haml::Options#preserve `:preserve`} option).
|
54
53
|
For example,
|
55
54
|
|
56
55
|
%p
|
data/REFERENCE.md
CHANGED
@@ -514,9 +514,10 @@ when the format is `:html4` or `:html5`, and to
|
|
514
514
|
when the format is `:xhtml`.
|
515
515
|
|
516
516
|
Some tags are automatically treated as being empty, as long as they have no
|
517
|
-
content in the Haml source. `meta`, `img`, `link`, `
|
518
|
-
are treated as empty by default. This
|
519
|
-
{Haml::Options#autoclose `:autoclose`}
|
517
|
+
content in the Haml source. `meta`, `img`, `link`, `br`, `hr`, `input`,
|
518
|
+
`area`, `param`, `col` and `base` tags are treated as empty by default. This
|
519
|
+
list can be customized by setting the {Haml::Options#autoclose `:autoclose`}
|
520
|
+
option.
|
520
521
|
|
521
522
|
### Whitespace Removal: `>` and `<`
|
522
523
|
|
@@ -1179,6 +1180,42 @@ default. This filter is implemented using Tilt.
|
|
1179
1180
|
|
1180
1181
|
You can also define your own filters. See {Haml::Filters} for details.
|
1181
1182
|
|
1183
|
+
## Helper Methods {#helper-methods}
|
1184
|
+
|
1185
|
+
Sometimes you need to manipulate whitespace in a more precise fashion than what
|
1186
|
+
the whitespace removal methods allow. There are a few helper methods that are
|
1187
|
+
useful when dealing with inline content. All these methods take a Haml block to
|
1188
|
+
modify.
|
1189
|
+
|
1190
|
+
{#surround}
|
1191
|
+
### surround
|
1192
|
+
Surrounds a Haml block with text. Expects 1 or 2 string arguments used to
|
1193
|
+
surround the Haml block. If a second argument is not provided, the first
|
1194
|
+
argument is used as the second.
|
1195
|
+
|
1196
|
+
= surround "(", ")" do
|
1197
|
+
= link_to "learn more", "#"
|
1198
|
+
|
1199
|
+
{#precede}
|
1200
|
+
### precede
|
1201
|
+
Prepends a Haml block with text. Expects 1 argument.
|
1202
|
+
|
1203
|
+
= precede "*" do
|
1204
|
+
%span Required
|
1205
|
+
|
1206
|
+
{#succeed}
|
1207
|
+
### succeed
|
1208
|
+
Appends a Haml block with text. Expects 1 argument.
|
1209
|
+
|
1210
|
+
Begin by
|
1211
|
+
= succeed "," do
|
1212
|
+
= link_to "filling out your profile", "#"
|
1213
|
+
= succeed "," do
|
1214
|
+
= link_to "adding a bio", "#"
|
1215
|
+
and
|
1216
|
+
= succeed "." do
|
1217
|
+
= link_to "inviting friends", "#"
|
1218
|
+
|
1182
1219
|
## Multiline: `|` {#multiline}
|
1183
1220
|
|
1184
1221
|
The pipe character designates a multiline string.
|
data/lib/haml/helpers.rb
CHANGED
@@ -527,38 +527,52 @@ MESSAGE
|
|
527
527
|
# Characters that need to be escaped to HTML entities from user input
|
528
528
|
HTML_ESCAPE = { '&'=>'&', '<'=>'<', '>'=>'>', '"'=>'"', "'"=>''', }
|
529
529
|
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
530
|
+
HTML_ESCAPE_REGEX = /[\"><&]/
|
531
|
+
|
532
|
+
if RUBY_VERSION >= '1.9'
|
533
|
+
# Include docs here so they are picked up by Yard
|
534
|
+
|
535
|
+
# Returns a copy of `text` with ampersands, angle brackets and quotes
|
536
|
+
# escaped into HTML entities.
|
537
|
+
#
|
538
|
+
# Note that if ActionView is loaded and XSS protection is enabled
|
539
|
+
# (as is the default for Rails 3.0+, and optional for version 2.3.5+),
|
540
|
+
# this won't escape text declared as "safe".
|
541
|
+
#
|
542
|
+
# @param text [String] The string to sanitize
|
543
|
+
# @return [String] The sanitized string
|
544
|
+
def html_escape(text)
|
545
|
+
text = text.to_s
|
546
|
+
text.gsub(HTML_ESCAPE_REGEX, HTML_ESCAPE)
|
547
|
+
end
|
548
|
+
else
|
549
|
+
def html_escape(text)
|
550
|
+
text = text.to_s
|
551
|
+
text.gsub(HTML_ESCAPE_REGEX) {|s| HTML_ESCAPE[s]}
|
545
552
|
end
|
546
|
-
text.to_s.gsub(regex) {|s| HTML_ESCAPE[s]}
|
547
553
|
end
|
548
554
|
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
555
|
+
HTML_ESCAPE_ONCE_REGEX = /[\"><]|&(?!(?:[a-zA-Z]+|(#\d+));)/
|
556
|
+
|
557
|
+
if RUBY_VERSION >= '1.9'
|
558
|
+
# Include docs here so they are picked up by Yard
|
559
|
+
|
560
|
+
# Escapes HTML entities in `text`, but without escaping an ampersand
|
561
|
+
# that is already part of an escaped entity.
|
562
|
+
#
|
563
|
+
# @param text [String] The string to sanitize
|
564
|
+
# @return [String] The sanitized string
|
565
|
+
def escape_once(text)
|
566
|
+
text = text.to_s
|
567
|
+
text.gsub!(HTML_ESCAPE_ONCE_REGEX, HTML_ESCAPE)
|
568
|
+
text
|
569
|
+
end
|
570
|
+
else
|
571
|
+
def escape_once(text)
|
572
|
+
text = text.to_s
|
573
|
+
text.gsub!(HTML_ESCAPE_ONCE_REGEX){|s| HTML_ESCAPE[s]}
|
574
|
+
text
|
560
575
|
end
|
561
|
-
text.to_s.gsub(regex) {|s| HTML_ESCAPE[s]}
|
562
576
|
end
|
563
577
|
|
564
578
|
# Returns whether or not the current template is a Haml template.
|
@@ -1,20 +1,29 @@
|
|
1
1
|
module Haml
|
2
|
+
|
3
|
+
class ErubisTemplateHandler < ActionView::Template::Handlers::Erubis
|
4
|
+
|
5
|
+
def initialize(*args, &blk)
|
6
|
+
@newline_pending = 0
|
7
|
+
super
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
2
11
|
class SafeErubisTemplate < Tilt::ErubisTemplate
|
3
12
|
|
4
13
|
def initialize_engine
|
5
14
|
end
|
6
15
|
|
7
16
|
def prepare
|
8
|
-
@options.merge! :engine_class =>
|
17
|
+
@options.merge! :engine_class => Haml::ErubisTemplateHandler
|
9
18
|
super
|
10
19
|
end
|
11
20
|
|
12
21
|
def precompiled_preamble(locals)
|
13
|
-
[super, "@output_buffer = ActionView::OutputBuffer.new;"]
|
22
|
+
[super, "@output_buffer = ActionView::OutputBuffer.new;"].join("\n")
|
14
23
|
end
|
15
24
|
|
16
25
|
def precompiled_postamble(locals)
|
17
|
-
[super, '@output_buffer.to_s']
|
26
|
+
[super, '@output_buffer.to_s'].join("\n")
|
18
27
|
end
|
19
28
|
end
|
20
29
|
end
|
data/lib/haml/version.rb
CHANGED
@@ -0,0 +1,98 @@
|
|
1
|
+
PATH
|
2
|
+
remote: /Users/norman/work/haml
|
3
|
+
specs:
|
4
|
+
haml (4.0.3)
|
5
|
+
tilt
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: http://rubygems.org/
|
9
|
+
specs:
|
10
|
+
actionmailer (3.2.13)
|
11
|
+
actionpack (= 3.2.13)
|
12
|
+
mail (~> 2.5.3)
|
13
|
+
actionpack (3.2.13)
|
14
|
+
activemodel (= 3.2.13)
|
15
|
+
activesupport (= 3.2.13)
|
16
|
+
builder (~> 3.0.0)
|
17
|
+
erubis (~> 2.7.0)
|
18
|
+
journey (~> 1.0.4)
|
19
|
+
rack (~> 1.4.5)
|
20
|
+
rack-cache (~> 1.2)
|
21
|
+
rack-test (~> 0.6.1)
|
22
|
+
sprockets (~> 2.2.1)
|
23
|
+
activemodel (3.2.13)
|
24
|
+
activesupport (= 3.2.13)
|
25
|
+
builder (~> 3.0.0)
|
26
|
+
activerecord (3.2.13)
|
27
|
+
activemodel (= 3.2.13)
|
28
|
+
activesupport (= 3.2.13)
|
29
|
+
arel (~> 3.0.2)
|
30
|
+
tzinfo (~> 0.3.29)
|
31
|
+
activeresource (3.2.13)
|
32
|
+
activemodel (= 3.2.13)
|
33
|
+
activesupport (= 3.2.13)
|
34
|
+
activesupport (3.2.13)
|
35
|
+
i18n (= 0.6.1)
|
36
|
+
multi_json (~> 1.0)
|
37
|
+
arel (3.0.2)
|
38
|
+
builder (3.0.4)
|
39
|
+
erubis (2.7.0)
|
40
|
+
hike (1.2.2)
|
41
|
+
i18n (0.6.1)
|
42
|
+
journey (1.0.4)
|
43
|
+
json (1.8.0)
|
44
|
+
mail (2.5.4)
|
45
|
+
mime-types (~> 1.16)
|
46
|
+
treetop (~> 1.4.8)
|
47
|
+
mime-types (1.23)
|
48
|
+
minitest (4.7.4)
|
49
|
+
multi_json (1.7.3)
|
50
|
+
nokogiri (1.5.9)
|
51
|
+
polyglot (0.3.3)
|
52
|
+
rack (1.4.5)
|
53
|
+
rack-cache (1.2)
|
54
|
+
rack (>= 0.4)
|
55
|
+
rack-ssl (1.3.3)
|
56
|
+
rack
|
57
|
+
rack-test (0.6.2)
|
58
|
+
rack (>= 1.0)
|
59
|
+
rails (3.2.13)
|
60
|
+
actionmailer (= 3.2.13)
|
61
|
+
actionpack (= 3.2.13)
|
62
|
+
activerecord (= 3.2.13)
|
63
|
+
activeresource (= 3.2.13)
|
64
|
+
activesupport (= 3.2.13)
|
65
|
+
bundler (~> 1.0)
|
66
|
+
railties (= 3.2.13)
|
67
|
+
railties (3.2.13)
|
68
|
+
actionpack (= 3.2.13)
|
69
|
+
activesupport (= 3.2.13)
|
70
|
+
rack-ssl (~> 1.3.2)
|
71
|
+
rake (>= 0.8.7)
|
72
|
+
rdoc (~> 3.4)
|
73
|
+
thor (>= 0.14.6, < 2.0)
|
74
|
+
rake (10.0.4)
|
75
|
+
rbench (0.2.3)
|
76
|
+
rdoc (3.12.2)
|
77
|
+
json (~> 1.4)
|
78
|
+
sprockets (2.2.2)
|
79
|
+
hike (~> 1.2)
|
80
|
+
multi_json (~> 1.0)
|
81
|
+
rack (~> 1.0)
|
82
|
+
tilt (~> 1.1, != 1.3.0)
|
83
|
+
thor (0.18.1)
|
84
|
+
tilt (1.4.1)
|
85
|
+
treetop (1.4.12)
|
86
|
+
polyglot
|
87
|
+
polyglot (>= 0.3.1)
|
88
|
+
tzinfo (0.3.37)
|
89
|
+
|
90
|
+
PLATFORMS
|
91
|
+
ruby
|
92
|
+
|
93
|
+
DEPENDENCIES
|
94
|
+
haml!
|
95
|
+
minitest
|
96
|
+
nokogiri
|
97
|
+
rails (>= 3.2.0, < 3.3.0)
|
98
|
+
rbench
|
@@ -0,0 +1,101 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ../../..
|
3
|
+
specs:
|
4
|
+
rails (4.0.0.beta1)
|
5
|
+
actionmailer (= 4.0.0.beta1)
|
6
|
+
actionpack (= 4.0.0.beta1)
|
7
|
+
activerecord (= 4.0.0.beta1)
|
8
|
+
activesupport (= 4.0.0.beta1)
|
9
|
+
bundler (>= 1.3.0, < 2.0)
|
10
|
+
railties (= 4.0.0.beta1)
|
11
|
+
sprockets-rails (~> 2.0.0.rc4)
|
12
|
+
|
13
|
+
PATH
|
14
|
+
remote: /Users/norman/work/haml
|
15
|
+
specs:
|
16
|
+
haml (4.0.3)
|
17
|
+
tilt
|
18
|
+
|
19
|
+
GEM
|
20
|
+
remote: http://rubygems.org/
|
21
|
+
specs:
|
22
|
+
actionmailer (4.0.0.beta1)
|
23
|
+
actionpack (= 4.0.0.beta1)
|
24
|
+
mail (~> 2.5.3)
|
25
|
+
actionpack (4.0.0.beta1)
|
26
|
+
activesupport (= 4.0.0.beta1)
|
27
|
+
builder (~> 3.1.0)
|
28
|
+
erubis (~> 2.7.0)
|
29
|
+
rack (~> 1.5.2)
|
30
|
+
rack-test (~> 0.6.2)
|
31
|
+
activemodel (4.0.0.beta1)
|
32
|
+
activesupport (= 4.0.0.beta1)
|
33
|
+
builder (~> 3.1.0)
|
34
|
+
activerecord (4.0.0.beta1)
|
35
|
+
activemodel (= 4.0.0.beta1)
|
36
|
+
activerecord-deprecated_finders (~> 0.0.3)
|
37
|
+
activesupport (= 4.0.0.beta1)
|
38
|
+
arel (~> 4.0.0.beta1)
|
39
|
+
activerecord-deprecated_finders (0.0.3)
|
40
|
+
activesupport (4.0.0.beta1)
|
41
|
+
i18n (~> 0.6.2)
|
42
|
+
minitest (~> 4.2)
|
43
|
+
multi_json (~> 1.3)
|
44
|
+
thread_safe (~> 0.1)
|
45
|
+
tzinfo (~> 0.3.33)
|
46
|
+
arel (4.0.0)
|
47
|
+
atomic (1.1.9)
|
48
|
+
builder (3.1.4)
|
49
|
+
erubis (2.7.0)
|
50
|
+
hike (1.2.2)
|
51
|
+
i18n (0.6.4)
|
52
|
+
json (1.8.0)
|
53
|
+
mail (2.5.4)
|
54
|
+
mime-types (~> 1.16)
|
55
|
+
treetop (~> 1.4.8)
|
56
|
+
mime-types (1.23)
|
57
|
+
minitest (4.7.4)
|
58
|
+
multi_json (1.7.3)
|
59
|
+
nokogiri (1.5.9)
|
60
|
+
polyglot (0.3.3)
|
61
|
+
rack (1.5.2)
|
62
|
+
rack-test (0.6.2)
|
63
|
+
rack (>= 1.0)
|
64
|
+
railties (4.0.0.beta1)
|
65
|
+
actionpack (= 4.0.0.beta1)
|
66
|
+
activesupport (= 4.0.0.beta1)
|
67
|
+
rake (>= 0.8.7)
|
68
|
+
rdoc (~> 3.4)
|
69
|
+
thor (>= 0.17.0, < 2.0)
|
70
|
+
rake (10.0.4)
|
71
|
+
rbench (0.2.3)
|
72
|
+
rdoc (3.12.2)
|
73
|
+
json (~> 1.4)
|
74
|
+
sprockets (2.9.3)
|
75
|
+
hike (~> 1.2)
|
76
|
+
multi_json (~> 1.0)
|
77
|
+
rack (~> 1.0)
|
78
|
+
tilt (~> 1.1, != 1.3.0)
|
79
|
+
sprockets-rails (2.0.0.rc4)
|
80
|
+
actionpack (>= 3.0)
|
81
|
+
activesupport (>= 3.0)
|
82
|
+
sprockets (~> 2.8)
|
83
|
+
thor (0.18.1)
|
84
|
+
thread_safe (0.1.0)
|
85
|
+
atomic
|
86
|
+
tilt (1.4.1)
|
87
|
+
treetop (1.4.12)
|
88
|
+
polyglot
|
89
|
+
polyglot (>= 0.3.1)
|
90
|
+
tzinfo (0.3.37)
|
91
|
+
|
92
|
+
PLATFORMS
|
93
|
+
ruby
|
94
|
+
|
95
|
+
DEPENDENCIES
|
96
|
+
bundler (~> 1.3.0)
|
97
|
+
haml!
|
98
|
+
minitest
|
99
|
+
nokogiri
|
100
|
+
rails (~> 4.0.0.beta1)!
|
101
|
+
rbench
|
data/test/helper_test.rb
CHANGED
@@ -497,6 +497,14 @@ HAML
|
|
497
497
|
assert_equal ""><&", Haml::Helpers.html_escape('"><&')
|
498
498
|
end
|
499
499
|
|
500
|
+
def test_html_escape_should_work_on_frozen_strings
|
501
|
+
begin
|
502
|
+
assert Haml::Helpers.html_escape('foo'.freeze)
|
503
|
+
rescue => e
|
504
|
+
flunk e.message
|
505
|
+
end
|
506
|
+
end
|
507
|
+
|
500
508
|
def test_html_escape_encoding
|
501
509
|
old_stderr, $stderr = $stderr, StringIO.new
|
502
510
|
string = "\"><&\u00e9" # if you're curious, u00e9 is "LATIN SMALL LETTER E WITH ACUTE"
|
@@ -506,6 +514,11 @@ HAML
|
|
506
514
|
$stderr = old_stderr
|
507
515
|
end
|
508
516
|
|
517
|
+
def test_html_escape_non_string
|
518
|
+
assert_equal('4.58', Haml::Helpers.html_escape(4.58))
|
519
|
+
assert_equal('4.58', Haml::Helpers.html_escape_without_haml_xss(4.58))
|
520
|
+
end
|
521
|
+
|
509
522
|
def test_escape_once
|
510
523
|
assert_equal ""><&", Haml::Helpers.escape_once('"><&')
|
511
524
|
end
|
data/test/template_test.rb
CHANGED
@@ -111,7 +111,7 @@ class TemplateTest < MiniTest::Unit::TestCase
|
|
111
111
|
end
|
112
112
|
|
113
113
|
TEMPLATES.each do |template|
|
114
|
-
define_method "test_template_should_render_correctly [template: #{template}]
|
114
|
+
define_method "test_template_should_render_correctly [template: #{template}]" do
|
115
115
|
assert_renders_correctly template
|
116
116
|
end
|
117
117
|
end
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: haml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 4.0.2
|
4
|
+
version: 4.0.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Nathan Weizenbaum
|
@@ -11,100 +10,84 @@ authors:
|
|
11
10
|
autorequire:
|
12
11
|
bindir: bin
|
13
12
|
cert_chain: []
|
14
|
-
date: 2013-
|
13
|
+
date: 2013-05-21 00:00:00.000000000 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
|
-
|
18
|
-
|
16
|
+
name: tilt
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
19
18
|
requirements:
|
20
|
-
- -
|
19
|
+
- - '>='
|
21
20
|
- !ruby/object:Gem::Version
|
22
21
|
version: '0'
|
23
|
-
name: tilt
|
24
22
|
type: :runtime
|
25
23
|
prerelease: false
|
26
|
-
|
27
|
-
none: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
28
25
|
requirements:
|
29
|
-
- -
|
26
|
+
- - '>='
|
30
27
|
- !ruby/object:Gem::Version
|
31
28
|
version: '0'
|
32
29
|
- !ruby/object:Gem::Dependency
|
33
|
-
|
34
|
-
|
30
|
+
name: rails
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
35
32
|
requirements:
|
36
|
-
- -
|
33
|
+
- - '>='
|
37
34
|
- !ruby/object:Gem::Version
|
38
35
|
version: 3.0.0
|
39
|
-
name: rails
|
40
36
|
type: :development
|
41
37
|
prerelease: false
|
42
|
-
|
43
|
-
none: false
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
39
|
requirements:
|
45
|
-
- -
|
40
|
+
- - '>='
|
46
41
|
- !ruby/object:Gem::Version
|
47
42
|
version: 3.0.0
|
48
43
|
- !ruby/object:Gem::Dependency
|
49
|
-
|
50
|
-
|
44
|
+
name: rbench
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
51
46
|
requirements:
|
52
|
-
- -
|
47
|
+
- - '>='
|
53
48
|
- !ruby/object:Gem::Version
|
54
49
|
version: '0'
|
55
|
-
name: rbench
|
56
50
|
type: :development
|
57
51
|
prerelease: false
|
58
|
-
|
59
|
-
none: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
60
53
|
requirements:
|
61
|
-
- -
|
54
|
+
- - '>='
|
62
55
|
- !ruby/object:Gem::Version
|
63
56
|
version: '0'
|
64
57
|
- !ruby/object:Gem::Dependency
|
65
|
-
|
66
|
-
|
58
|
+
name: minitest
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
67
60
|
requirements:
|
68
|
-
- -
|
61
|
+
- - '>='
|
69
62
|
- !ruby/object:Gem::Version
|
70
63
|
version: '0'
|
71
|
-
name: minitest
|
72
64
|
type: :development
|
73
65
|
prerelease: false
|
74
|
-
|
75
|
-
none: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
76
67
|
requirements:
|
77
|
-
- -
|
68
|
+
- - '>='
|
78
69
|
- !ruby/object:Gem::Version
|
79
70
|
version: '0'
|
80
71
|
- !ruby/object:Gem::Dependency
|
81
|
-
|
82
|
-
|
72
|
+
name: nokogiri
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
83
74
|
requirements:
|
84
|
-
- -
|
75
|
+
- - '>='
|
85
76
|
- !ruby/object:Gem::Version
|
86
77
|
version: '0'
|
87
|
-
name: nokogiri
|
88
78
|
type: :development
|
89
79
|
prerelease: false
|
90
|
-
|
91
|
-
none: false
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
92
81
|
requirements:
|
93
|
-
- -
|
82
|
+
- - '>='
|
94
83
|
- !ruby/object:Gem::Version
|
95
84
|
version: '0'
|
96
|
-
description:
|
97
|
-
or XML that'
|
98
|
-
|
85
|
+
description: |
|
86
|
+
Haml (HTML Abstraction Markup Language) is a layer on top of HTML or XML that's
|
99
87
|
designed to express the structure of documents in a non-repetitive, elegant, and
|
100
|
-
|
101
88
|
easy way by using indentation rather than closing tags and allowing Ruby to be
|
102
|
-
|
103
89
|
embedded with ease. It was originally envisioned as a plugin for Ruby on Rails,
|
104
|
-
|
105
90
|
but it can function as a stand-alone templating engine.
|
106
|
-
|
107
|
-
'
|
108
91
|
email:
|
109
92
|
- haml@googlegroups.com
|
110
93
|
- norman@njclarke.com
|
@@ -145,7 +128,9 @@ files:
|
|
145
128
|
- test/gemfiles/Gemfile.rails-3.0.x
|
146
129
|
- test/gemfiles/Gemfile.rails-3.1.x
|
147
130
|
- test/gemfiles/Gemfile.rails-3.2.x
|
131
|
+
- test/gemfiles/Gemfile.rails-3.2.x.lock
|
148
132
|
- test/gemfiles/Gemfile.rails-4.0.x
|
133
|
+
- test/gemfiles/Gemfile.rails-4.0.x.lock
|
149
134
|
- test/helper_test.rb
|
150
135
|
- test/markaby/standard.mab
|
151
136
|
- test/mocks/article.rb
|
@@ -213,53 +198,41 @@ files:
|
|
213
198
|
homepage: http://haml.info/
|
214
199
|
licenses:
|
215
200
|
- MIT
|
216
|
-
|
201
|
+
metadata: {}
|
202
|
+
post_install_message: |2+
|
217
203
|
|
218
204
|
HEADS UP! Haml 4.0 has many improvements, but also has changes that may break
|
219
|
-
|
220
205
|
your application:
|
221
206
|
|
222
|
-
|
223
207
|
* Support for Ruby 1.8.6 dropped
|
224
|
-
|
225
208
|
* Support for Rails 2 dropped
|
226
|
-
|
227
209
|
* Sass filter now always outputs <style> tags
|
228
|
-
|
229
210
|
* Data attributes are now hyphenated, not underscored
|
230
|
-
|
231
211
|
* html2haml utility moved to the html2haml gem
|
232
|
-
|
233
212
|
* Textile and Maruku filters moved to the haml-contrib gem
|
234
213
|
|
235
|
-
|
236
214
|
For more info see:
|
237
215
|
|
238
|
-
|
239
216
|
http://rubydoc.info/github/haml/haml/file/CHANGELOG.md
|
240
217
|
|
241
|
-
|
242
|
-
'
|
243
218
|
rdoc_options: []
|
244
219
|
require_paths:
|
245
220
|
- lib
|
246
221
|
required_ruby_version: !ruby/object:Gem::Requirement
|
247
|
-
none: false
|
248
222
|
requirements:
|
249
|
-
- -
|
223
|
+
- - '>='
|
250
224
|
- !ruby/object:Gem::Version
|
251
225
|
version: '0'
|
252
226
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
253
|
-
none: false
|
254
227
|
requirements:
|
255
|
-
- -
|
228
|
+
- - '>='
|
256
229
|
- !ruby/object:Gem::Version
|
257
230
|
version: '0'
|
258
231
|
requirements: []
|
259
232
|
rubyforge_project:
|
260
|
-
rubygems_version:
|
233
|
+
rubygems_version: 2.0.3
|
261
234
|
signing_key:
|
262
|
-
specification_version:
|
235
|
+
specification_version: 4
|
263
236
|
summary: An elegant, structured (X)HTML/XML templating engine.
|
264
237
|
test_files:
|
265
238
|
- test/engine_test.rb
|