hamlet 0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/Gemfile +25 -0
- data/LICENSE +21 -0
- data/README.md +52 -0
- data/Rakefile +57 -0
- data/bin/hamletrb +7 -0
- data/extra/slim-mode.el +409 -0
- data/extra/test.hamlet +50 -0
- data/hamlet.gemspec +36 -0
- data/lib/hamlet.rb +7 -0
- data/lib/hamlet/engine.rb +3 -0
- data/lib/hamlet/parser.rb +147 -0
- data/lib/hamlet/template.rb +19 -0
- data/test/rails/Rakefile +7 -0
- data/test/rails/app/controllers/application_controller.rb +3 -0
- data/test/rails/app/controllers/parents_controller.rb +84 -0
- data/test/rails/app/controllers/slim_controller.rb +32 -0
- data/test/rails/app/helpers/application_helper.rb +2 -0
- data/test/rails/app/models/child.rb +3 -0
- data/test/rails/app/models/parent.rb +4 -0
- data/test/rails/app/views/layouts/application.html.slim +10 -0
- data/test/rails/app/views/parents/_form.html.slim +7 -0
- data/test/rails/app/views/parents/edit.html.slim +1 -0
- data/test/rails/app/views/parents/new.html.slim +1 -0
- data/test/rails/app/views/parents/show.html.slim +5 -0
- data/test/rails/app/views/slim/_partial.html.slim +1 -0
- data/test/rails/app/views/slim/content_for.html.slim +7 -0
- data/test/rails/app/views/slim/erb.html.erb +1 -0
- data/test/rails/app/views/slim/integers.html.slim +1 -0
- data/test/rails/app/views/slim/nil.html.slim +1 -0
- data/test/rails/app/views/slim/no_layout.html.slim +1 -0
- data/test/rails/app/views/slim/normal.html.slim +1 -0
- data/test/rails/app/views/slim/partial.html.slim +2 -0
- data/test/rails/app/views/slim/variables.html.slim +1 -0
- data/test/rails/config.ru +4 -0
- data/test/rails/config/application.rb +45 -0
- data/test/rails/config/boot.rb +10 -0
- data/test/rails/config/database.yml +4 -0
- data/test/rails/config/environment.rb +5 -0
- data/test/rails/config/environments/development.rb +26 -0
- data/test/rails/config/environments/production.rb +49 -0
- data/test/rails/config/environments/test.rb +35 -0
- data/test/rails/config/initializers/backtrace_silencers.rb +7 -0
- data/test/rails/config/initializers/inflections.rb +10 -0
- data/test/rails/config/initializers/mime_types.rb +5 -0
- data/test/rails/config/initializers/secret_token.rb +7 -0
- data/test/rails/config/initializers/session_store.rb +8 -0
- data/test/rails/config/locales/en.yml +5 -0
- data/test/rails/config/routes.rb +60 -0
- data/test/rails/db/migrate/20101220223037_parents_and_children.rb +17 -0
- data/test/rails/script/rails +6 -0
- data/test/rails/test/helper.rb +10 -0
- data/test/rails/test/test_slim.rb +77 -0
- data/test/slim/helper.rb +200 -0
- data/test/slim/test_chain_manipulation.rb +42 -0
- data/test/slim/test_code_blocks.rb +68 -0
- data/test/slim/test_code_escaping.rb +53 -0
- data/test/slim/test_code_evaluation.rb +281 -0
- data/test/slim/test_code_output.rb +159 -0
- data/test/slim/test_code_structure.rb +95 -0
- data/test/slim/test_embedded_engines.rb +141 -0
- data/test/slim/test_html_escaping.rb +40 -0
- data/test/slim/test_html_structure.rb +438 -0
- data/test/slim/test_parser_errors.rb +107 -0
- data/test/slim/test_pretty.rb +75 -0
- data/test/slim/test_ruby_errors.rb +187 -0
- data/test/slim/test_sections.rb +90 -0
- data/test/slim/test_slim_template.rb +118 -0
- data/test/slim/test_text_interpolation.rb +78 -0
- data/test/slim/test_wrapper.rb +39 -0
- metadata +230 -0
@@ -0,0 +1,118 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class ::MockError < NameError
|
4
|
+
end
|
5
|
+
|
6
|
+
class TestSlimTemplate < TestSlim
|
7
|
+
class Scope
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_registered_extension
|
11
|
+
assert_equal Hamlet::Template, Tilt['test.hamlet']
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_preparing_and_evaluating
|
15
|
+
template = Hamlet::Template.new { |t| "<p>Hello World!\n" }
|
16
|
+
assert_equal "<p>Hello World!</p>", template.render
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_passing_locals
|
20
|
+
template = Hamlet::Template.new { "<p>= 'Hey ' + name + '!'\n" }
|
21
|
+
assert_equal "<p>Hey Joe!</p>", template.render(Object.new, :name => 'Joe')
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_evaluating_in_an_object_scope
|
25
|
+
template = Hamlet::Template.new { "<p = 'Hey ' + @name + '!'\n" }
|
26
|
+
scope = Object.new
|
27
|
+
scope.instance_variable_set :@name, 'Joe'
|
28
|
+
assert_equal "<p>Hey Joe!</p>", template.render(scope)
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_passing_a_block_for_yield
|
32
|
+
template = Hamlet::Template.new { "<p = 'Hey ' + yield + '!'\n" }
|
33
|
+
assert_equal "<p>Hey Joe!</p>", template.render { 'Joe' }
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_backtrace_file_and_line_reporting_without_locals
|
37
|
+
data = File.read(__FILE__).split("\n__END__\n").last
|
38
|
+
fail unless data[0] == ?h
|
39
|
+
template = Hamlet::Template.new('test.slim', 10) { data }
|
40
|
+
begin
|
41
|
+
template.render
|
42
|
+
fail 'should have raised an exception'
|
43
|
+
rescue => ex
|
44
|
+
assert_kind_of NameError, ex
|
45
|
+
assert_backtrace(ex, 'test.slim:12')
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_backtrace_file_and_line_reporting_with_locals
|
50
|
+
data = File.read(__FILE__).split("\n__END__\n").last
|
51
|
+
fail unless data[0] == ?h
|
52
|
+
template = Hamlet::Template.new('test.slim') { data }
|
53
|
+
begin
|
54
|
+
res = template.render(Object.new, :name => 'Joe', :foo => 'bar')
|
55
|
+
rescue => ex
|
56
|
+
assert_kind_of MockError, ex
|
57
|
+
assert_backtrace(ex, 'test.slim:4')
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_compiling_template_source_to_a_method
|
62
|
+
template = Hamlet::Template.new { |t| "Hello World!" }
|
63
|
+
template.render(Scope.new)
|
64
|
+
method = template.send(:compiled_method, [])
|
65
|
+
assert_kind_of UnboundMethod, method
|
66
|
+
end
|
67
|
+
|
68
|
+
def test_passing_locals
|
69
|
+
template = Hamlet::Template.new { "<p = 'Hey ' + name + '!'\n" }
|
70
|
+
assert_equal "<p>Hey Joe!</p>", template.render(Scope.new, :name => 'Joe')
|
71
|
+
end
|
72
|
+
|
73
|
+
def test_evaluating_in_an_object_scope
|
74
|
+
template = Hamlet::Template.new { "<p = 'Hey ' + @name + '!'\n" }
|
75
|
+
scope = Scope.new
|
76
|
+
scope.instance_variable_set :@name, 'Joe'
|
77
|
+
assert_equal "<p>Hey Joe!</p>", template.render(scope)
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_passing_a_block_for_yield
|
81
|
+
template = Hamlet::Template.new { "<p = 'Hey ' + yield + '!'\n" }
|
82
|
+
assert_equal "<p>Hey Joe!</p>", template.render(Scope.new) { 'Joe' }
|
83
|
+
end
|
84
|
+
|
85
|
+
def test_backtrace_file_and_line_reporting_without_locals
|
86
|
+
data = File.read(__FILE__).split("\n__END__\n").last
|
87
|
+
fail unless data[0] == ?h
|
88
|
+
template = Hamlet::Template.new('test.slim', 10) { data }
|
89
|
+
begin
|
90
|
+
template.render(Scope.new)
|
91
|
+
fail 'should have raised an exception'
|
92
|
+
rescue => ex
|
93
|
+
assert_kind_of NameError, ex
|
94
|
+
assert_backtrace(ex, 'test.slim:12')
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
def test_backtrace_file_and_line_reporting_with_locals
|
99
|
+
data = File.read(__FILE__).split("\n__END__\n").last
|
100
|
+
fail unless data[0] == ?h
|
101
|
+
template = Hamlet::Template.new('test.slim') { data }
|
102
|
+
begin
|
103
|
+
res = template.render(Scope.new, :name => 'Joe', :foo => 'bar')
|
104
|
+
rescue => ex
|
105
|
+
assert_kind_of MockError, ex
|
106
|
+
assert_backtrace(ex, 'test.slim:5')
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
__END__
|
112
|
+
html
|
113
|
+
body
|
114
|
+
<h1>= "Hey #{name}"
|
115
|
+
|
116
|
+
= raise MockError
|
117
|
+
|
118
|
+
<p>we never get here
|
@@ -0,0 +1,78 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestSlimTextInterpolation < TestSlim
|
4
|
+
def test_interpolation_in_attribute
|
5
|
+
source = %q{
|
6
|
+
<p id="a#{id_helper}b" = hello_world
|
7
|
+
}
|
8
|
+
|
9
|
+
assert_html '<p id="anoticeb">Hello World from @env</p>', source
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_nested_interpolation_in_attribute
|
13
|
+
source = %q{
|
14
|
+
<p id="#{"abc#{1+1}" + "("}" = hello_world
|
15
|
+
}
|
16
|
+
|
17
|
+
assert_html '<p id="abc2(">Hello World from @env</p>', source
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_interpolation_in_text
|
21
|
+
source = %q{
|
22
|
+
<p
|
23
|
+
> #{hello_world} with "quotes"
|
24
|
+
<p
|
25
|
+
|
26
|
+
>A message from the compiler: #{hello_world}
|
27
|
+
}
|
28
|
+
|
29
|
+
assert_html '<p>Hello World from @env with "quotes"</p><p>A message from the compiler: Hello World from @env</p>', source
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_interpolation_in_tag
|
33
|
+
source = %q{
|
34
|
+
<p #{hello_world}
|
35
|
+
}
|
36
|
+
|
37
|
+
assert_html '<p>Hello World from @env</p>', source
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_escape_interpolation
|
41
|
+
source = %q{
|
42
|
+
<p \\#{hello_world}
|
43
|
+
}
|
44
|
+
|
45
|
+
assert_html '<p>#{hello_world}</p>', source
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_complex_interpolation
|
49
|
+
source = %q{
|
50
|
+
<p Message: #{message('hello', "user #{output_number}")}
|
51
|
+
}
|
52
|
+
|
53
|
+
assert_html '<p>Message: hello user 1337</p>', source
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_interpolation_with_escaping
|
57
|
+
source = %q{
|
58
|
+
> #{evil_method}
|
59
|
+
}
|
60
|
+
|
61
|
+
assert_html '<script>do_something_evil();</script>', source
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_interpolation_without_escaping
|
65
|
+
source = %q{
|
66
|
+
> #{{evil_method}}
|
67
|
+
}
|
68
|
+
|
69
|
+
assert_html '<script>do_something_evil();</script>', source
|
70
|
+
end
|
71
|
+
|
72
|
+
def test_interpolation_with_escaping_and_delimiter
|
73
|
+
source = %q{
|
74
|
+
> #{(evil_method)}
|
75
|
+
}
|
76
|
+
assert_html '<script>do_something_evil();</script>', source
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
|
4
|
+
class TestSlimWrapper < TestSlim
|
5
|
+
def setup
|
6
|
+
Slim::Sections.set_default_options(:dictionary => 'ViewEnv.new')
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
Slim::Sections.set_default_options(:dictionary => 'self')
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_sections
|
14
|
+
source = %q{
|
15
|
+
<p
|
16
|
+
- person
|
17
|
+
<.name = name
|
18
|
+
}
|
19
|
+
assert_html '<p><div class="name">Joe</div><div class="name">Jack</div></p>', source, :sections => true
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_with_array
|
23
|
+
source = %q{
|
24
|
+
<ul
|
25
|
+
- people_with_locations
|
26
|
+
<li = name
|
27
|
+
<li = city
|
28
|
+
}
|
29
|
+
assert_html '<ul><li>Andy</li><li>Atlanta</li><li>Fred</li><li>Melbourne</li><li>Daniel</li><li>Karlsruhe</li></ul>', source, :sections => true
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_method
|
33
|
+
source = %q{
|
34
|
+
<a href=output_number Link
|
35
|
+
}
|
36
|
+
assert_html '<a href="1337">Link</a>', source, :sections => true
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
metadata
ADDED
@@ -0,0 +1,230 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: hamlet
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '0.1'
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Greg Weber
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2011-10-28 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: slim
|
16
|
+
requirement: &4263040 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *4263040
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rake
|
27
|
+
requirement: &4261800 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 0.8.7
|
33
|
+
type: :development
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *4261800
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: sass
|
38
|
+
requirement: &4260580 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 3.1.0
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *4260580
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: minitest
|
49
|
+
requirement: &4259280 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *4259280
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: kramdown
|
60
|
+
requirement: &4258240 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *4258240
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: yard
|
71
|
+
requirement: &4257160 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *4257160
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: creole
|
82
|
+
requirement: &4253900 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *4253900
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: builder
|
93
|
+
requirement: &4253060 !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
type: :development
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: *4253060
|
102
|
+
- !ruby/object:Gem::Dependency
|
103
|
+
name: pry
|
104
|
+
requirement: &4252560 !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: *4252560
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: rcov
|
115
|
+
requirement: &4251980 !ruby/object:Gem::Requirement
|
116
|
+
none: false
|
117
|
+
requirements:
|
118
|
+
- - ! '>='
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '0'
|
121
|
+
type: :development
|
122
|
+
prerelease: false
|
123
|
+
version_requirements: *4251980
|
124
|
+
description: Hamlet is a template language whose goal is reduce HTML syntax to the
|
125
|
+
essential parts.
|
126
|
+
email:
|
127
|
+
- greg@gregweber.info
|
128
|
+
executables:
|
129
|
+
- hamletrb
|
130
|
+
extensions: []
|
131
|
+
extra_rdoc_files:
|
132
|
+
- README.md
|
133
|
+
files:
|
134
|
+
- .gitignore
|
135
|
+
- Gemfile
|
136
|
+
- LICENSE
|
137
|
+
- README.md
|
138
|
+
- Rakefile
|
139
|
+
- bin/hamletrb
|
140
|
+
- extra/slim-mode.el
|
141
|
+
- extra/test.hamlet
|
142
|
+
- hamlet.gemspec
|
143
|
+
- lib/hamlet.rb
|
144
|
+
- lib/hamlet/engine.rb
|
145
|
+
- lib/hamlet/parser.rb
|
146
|
+
- lib/hamlet/template.rb
|
147
|
+
- test/rails/Rakefile
|
148
|
+
- test/rails/app/controllers/application_controller.rb
|
149
|
+
- test/rails/app/controllers/parents_controller.rb
|
150
|
+
- test/rails/app/controllers/slim_controller.rb
|
151
|
+
- test/rails/app/helpers/application_helper.rb
|
152
|
+
- test/rails/app/models/child.rb
|
153
|
+
- test/rails/app/models/parent.rb
|
154
|
+
- test/rails/app/views/layouts/application.html.slim
|
155
|
+
- test/rails/app/views/parents/_form.html.slim
|
156
|
+
- test/rails/app/views/parents/edit.html.slim
|
157
|
+
- test/rails/app/views/parents/new.html.slim
|
158
|
+
- test/rails/app/views/parents/show.html.slim
|
159
|
+
- test/rails/app/views/slim/_partial.html.slim
|
160
|
+
- test/rails/app/views/slim/content_for.html.slim
|
161
|
+
- test/rails/app/views/slim/erb.html.erb
|
162
|
+
- test/rails/app/views/slim/integers.html.slim
|
163
|
+
- test/rails/app/views/slim/nil.html.slim
|
164
|
+
- test/rails/app/views/slim/no_layout.html.slim
|
165
|
+
- test/rails/app/views/slim/normal.html.slim
|
166
|
+
- test/rails/app/views/slim/partial.html.slim
|
167
|
+
- test/rails/app/views/slim/variables.html.slim
|
168
|
+
- test/rails/config.ru
|
169
|
+
- test/rails/config/application.rb
|
170
|
+
- test/rails/config/boot.rb
|
171
|
+
- test/rails/config/database.yml
|
172
|
+
- test/rails/config/environment.rb
|
173
|
+
- test/rails/config/environments/development.rb
|
174
|
+
- test/rails/config/environments/production.rb
|
175
|
+
- test/rails/config/environments/test.rb
|
176
|
+
- test/rails/config/initializers/backtrace_silencers.rb
|
177
|
+
- test/rails/config/initializers/inflections.rb
|
178
|
+
- test/rails/config/initializers/mime_types.rb
|
179
|
+
- test/rails/config/initializers/secret_token.rb
|
180
|
+
- test/rails/config/initializers/session_store.rb
|
181
|
+
- test/rails/config/locales/en.yml
|
182
|
+
- test/rails/config/routes.rb
|
183
|
+
- test/rails/db/migrate/20101220223037_parents_and_children.rb
|
184
|
+
- test/rails/script/rails
|
185
|
+
- test/rails/test/helper.rb
|
186
|
+
- test/rails/test/test_slim.rb
|
187
|
+
- test/slim/helper.rb
|
188
|
+
- test/slim/test_chain_manipulation.rb
|
189
|
+
- test/slim/test_code_blocks.rb
|
190
|
+
- test/slim/test_code_escaping.rb
|
191
|
+
- test/slim/test_code_evaluation.rb
|
192
|
+
- test/slim/test_code_output.rb
|
193
|
+
- test/slim/test_code_structure.rb
|
194
|
+
- test/slim/test_embedded_engines.rb
|
195
|
+
- test/slim/test_html_escaping.rb
|
196
|
+
- test/slim/test_html_structure.rb
|
197
|
+
- test/slim/test_parser_errors.rb
|
198
|
+
- test/slim/test_pretty.rb
|
199
|
+
- test/slim/test_ruby_errors.rb
|
200
|
+
- test/slim/test_sections.rb
|
201
|
+
- test/slim/test_slim_template.rb
|
202
|
+
- test/slim/test_text_interpolation.rb
|
203
|
+
- test/slim/test_wrapper.rb
|
204
|
+
homepage: http://github.com/gregwebs/hamlet.rb
|
205
|
+
licenses: []
|
206
|
+
post_install_message:
|
207
|
+
rdoc_options:
|
208
|
+
- --charset=UTF-8
|
209
|
+
require_paths:
|
210
|
+
- lib
|
211
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
212
|
+
none: false
|
213
|
+
requirements:
|
214
|
+
- - ! '>='
|
215
|
+
- !ruby/object:Gem::Version
|
216
|
+
version: '0'
|
217
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
218
|
+
none: false
|
219
|
+
requirements:
|
220
|
+
- - ! '>='
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
223
|
+
requirements: []
|
224
|
+
rubyforge_project: hamlet
|
225
|
+
rubygems_version: 1.8.10
|
226
|
+
signing_key:
|
227
|
+
specification_version: 3
|
228
|
+
summary: Hamlet is a DRY HTML template language.
|
229
|
+
test_files: []
|
230
|
+
has_rdoc:
|