tilt 1.3.3 → 1.3.4
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/COPYING +1 -1
- data/Gemfile +31 -1
- data/HACKING +16 -0
- data/README.md +5 -2
- data/Rakefile +25 -1
- data/TEMPLATES.md +13 -13
- data/bin/tilt +8 -6
- data/lib/tilt.rb +15 -1
- data/lib/tilt/asciidoc.rb +34 -0
- data/lib/tilt/coffee.rb +4 -0
- data/lib/tilt/css.rb +10 -2
- data/lib/tilt/csv.rb +71 -0
- data/lib/tilt/erb.rb +1 -1
- data/lib/tilt/etanni.rb +27 -0
- data/lib/tilt/liquid.rb +4 -0
- data/lib/tilt/markdown.rb +35 -11
- data/lib/tilt/nokogiri.rb +4 -4
- data/lib/tilt/plain.rb +20 -0
- data/lib/tilt/radius.rb +4 -0
- data/lib/tilt/rdoc.rb +20 -5
- data/lib/tilt/template.rb +35 -74
- data/lib/tilt/textile.rb +5 -0
- data/lib/tilt/wiki.rb +8 -0
- data/test/tilt_asciidoctor_test.rb +44 -0
- data/test/tilt_blueclothtemplate_test.rb +1 -1
- data/test/tilt_coffeescripttemplate_test.rb +64 -11
- data/test/tilt_creoletemplate_test.rb +1 -1
- data/test/tilt_csv_test.rb +73 -0
- data/test/tilt_erbtemplate_test.rb +5 -0
- data/test/tilt_erubistemplate_test.rb +1 -1
- data/test/tilt_etannitemplate_test.rb +173 -0
- data/test/tilt_fallback_test.rb +6 -6
- data/test/tilt_hamltemplate_test.rb +1 -1
- data/test/tilt_kramdown_test.rb +1 -1
- data/test/tilt_lesstemplate_test.less +1 -0
- data/test/tilt_lesstemplate_test.rb +19 -3
- data/test/tilt_liquidtemplate_test.rb +1 -1
- data/test/tilt_markaby_test.rb +1 -1
- data/test/tilt_markdown_test.rb +15 -4
- data/test/tilt_marukutemplate_test.rb +1 -1
- data/test/tilt_radiustemplate_test.rb +1 -1
- data/test/tilt_rdiscounttemplate_test.rb +1 -1
- data/test/tilt_rdoctemplate_test.rb +10 -3
- data/test/tilt_redcarpettemplate_test.rb +15 -3
- data/test/tilt_redclothtemplate_test.rb +13 -1
- data/test/tilt_sasstemplate_test.rb +1 -1
- data/test/tilt_stringtemplate_test.rb +1 -1
- data/test/tilt_template_test.rb +13 -0
- data/test/tilt_wikiclothtemplate_test.rb +1 -1
- data/test/tilt_yajltemplate_test.rb +13 -4
- data/tilt.gemspec +27 -17
- metadata +203 -75
data/test/tilt_fallback_test.rb
CHANGED
@@ -5,7 +5,7 @@ class TiltFallbackTest < Test::Unit::TestCase
|
|
5
5
|
class FailTemplate < Tilt::Template
|
6
6
|
def self.engine_initialized?; false end
|
7
7
|
def prepare; end
|
8
|
-
|
8
|
+
|
9
9
|
def initialize_engine
|
10
10
|
raise LoadError, "can't load #{self.class}"
|
11
11
|
end
|
@@ -22,7 +22,7 @@ class TiltFallbackTest < Test::Unit::TestCase
|
|
22
22
|
def set_ivar(obj, name, value)
|
23
23
|
obj.instance_variable_set("@#{name}", value)
|
24
24
|
end
|
25
|
-
|
25
|
+
|
26
26
|
def clear_ivar(obj, name)
|
27
27
|
ivar = "@#{name}"
|
28
28
|
value = obj.instance_variable_get(ivar)
|
@@ -49,7 +49,7 @@ class TiltFallbackTest < Test::Unit::TestCase
|
|
49
49
|
test "returns the last registered template" do
|
50
50
|
Tilt.register("md", WinTemplate)
|
51
51
|
Tilt.register("md", WinTemplate2)
|
52
|
-
|
52
|
+
|
53
53
|
template = Tilt["md"]
|
54
54
|
assert_equal WinTemplate2, template
|
55
55
|
end
|
@@ -87,7 +87,7 @@ class TiltFallbackTest < Test::Unit::TestCase
|
|
87
87
|
test ".prefer accepts multiple extensions" do
|
88
88
|
extensions = %w[md mkd markdown]
|
89
89
|
Tilt.prefer(FailTemplate, *extensions)
|
90
|
-
|
90
|
+
|
91
91
|
extensions.each do |ext|
|
92
92
|
template = Tilt[ext]
|
93
93
|
assert_equal FailTemplate, template
|
@@ -96,7 +96,7 @@ class TiltFallbackTest < Test::Unit::TestCase
|
|
96
96
|
|
97
97
|
test ".prefer with no extension should use already registered extensions" do
|
98
98
|
extensions = %w[md mkd markdown]
|
99
|
-
|
99
|
+
|
100
100
|
extensions.each do |ext|
|
101
101
|
Tilt.register(ext, FailTemplate)
|
102
102
|
Tilt.register(ext, WinTemplate)
|
@@ -109,7 +109,7 @@ class TiltFallbackTest < Test::Unit::TestCase
|
|
109
109
|
assert_equal FailTemplate, template
|
110
110
|
end
|
111
111
|
end
|
112
|
-
|
112
|
+
|
113
113
|
test ".prefer should only override extensions the preferred library is registered for" do
|
114
114
|
Tilt.register("md", WinTemplate)
|
115
115
|
Tilt.register("mkd", FailTemplate)
|
data/test/tilt_kramdown_test.rb
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
@text-color: #ffc0cb;
|
@@ -6,21 +6,37 @@ begin
|
|
6
6
|
require 'less'
|
7
7
|
|
8
8
|
class LessTemplateTest < Test::Unit::TestCase
|
9
|
+
def assert_similar(a, b)
|
10
|
+
assert_equal a.gsub(/\s+/m, ' '), b.gsub(/\s+/m, ' ')
|
11
|
+
end
|
12
|
+
|
9
13
|
test "is registered for '.less' files" do
|
10
14
|
assert_equal Tilt::LessTemplate, Tilt['test.less']
|
11
15
|
end
|
12
16
|
|
13
17
|
test "compiles and evaluates the template on #render" do
|
14
18
|
template = Tilt::LessTemplate.new { |t| ".bg { background-color: #0000ff; } \n#main\n { .bg; }\n" }
|
15
|
-
|
19
|
+
assert_similar ".bg {\n background-color: #0000ff;\n}\n#main {\n background-color: #0000ff;\n}\n", template.render
|
16
20
|
end
|
17
21
|
|
18
22
|
test "can be rendered more than once" do
|
19
23
|
template = Tilt::LessTemplate.new { |t| ".bg { background-color: #0000ff; } \n#main\n { .bg; }\n" }
|
20
|
-
3.times {
|
24
|
+
3.times { assert_similar ".bg {\n background-color: #0000ff;\n}\n#main {\n background-color: #0000ff;\n}\n", template.render }
|
25
|
+
end
|
26
|
+
|
27
|
+
test "can be passed a load path" do
|
28
|
+
template = Tilt::LessTemplate.new({
|
29
|
+
:paths => [Pathname(__FILE__).dirname]
|
30
|
+
}) {
|
31
|
+
<<-EOLESS
|
32
|
+
@import 'tilt_lesstemplate_test.less';
|
33
|
+
.bg {background-color: @text-color;}
|
34
|
+
EOLESS
|
35
|
+
}
|
36
|
+
assert_similar ".bg {\n background-color: #ffc0cb;\n}\n", template.render
|
21
37
|
end
|
22
38
|
end
|
23
39
|
|
24
40
|
rescue LoadError => boom
|
25
|
-
warn "Tilt::LessTemplate (disabled)
|
41
|
+
warn "Tilt::LessTemplate (disabled)"
|
26
42
|
end
|
data/test/tilt_markaby_test.rb
CHANGED
data/test/tilt_markdown_test.rb
CHANGED
@@ -26,7 +26,7 @@ module MarkdownTests
|
|
26
26
|
html.encode!("UTF-8") if html.respond_to?(:encode)
|
27
27
|
normalize(html)
|
28
28
|
end
|
29
|
-
|
29
|
+
|
30
30
|
def test_escape_html
|
31
31
|
html = nrender "Hello <b>World</b>"
|
32
32
|
assert_equal "<p>Hello <b>World</b></p>", html
|
@@ -98,7 +98,18 @@ begin
|
|
98
98
|
|
99
99
|
def test_smarty_pants_true
|
100
100
|
html = nrender "Hello ``World'' -- This is --- a test ...", :smartypants => true
|
101
|
-
assert_equal "<p>Hello “World
|
101
|
+
assert_equal "<p>Hello “World'' – This is — a test …</p>", html
|
102
|
+
end
|
103
|
+
|
104
|
+
def test_fenced_code_blocks_with_lang
|
105
|
+
code = <<-COD.gsub(/^\s+/,"")
|
106
|
+
```ruby
|
107
|
+
puts "hello world"
|
108
|
+
```
|
109
|
+
COD
|
110
|
+
|
111
|
+
html = nrender code, :fenced_code_blocks => true
|
112
|
+
assert_equal %Q{<pre><code class="ruby">puts "hello world"\n</code></pre>}, html
|
102
113
|
end
|
103
114
|
end
|
104
115
|
rescue LoadError => boom
|
@@ -133,7 +144,7 @@ rescue LoadError => boom
|
|
133
144
|
# It should already be warned in the main tests
|
134
145
|
end
|
135
146
|
|
136
|
-
|
147
|
+
|
137
148
|
begin
|
138
149
|
require 'maruku'
|
139
150
|
|
@@ -155,7 +166,7 @@ rescue LoadError => boom
|
|
155
166
|
end
|
156
167
|
|
157
168
|
rescue LoadError
|
158
|
-
warn "Markdown tests need Nokogiri
|
169
|
+
warn "Markdown tests need Nokogiri"
|
159
170
|
end
|
160
171
|
|
161
172
|
|
@@ -2,6 +2,7 @@ require 'contest'
|
|
2
2
|
require 'tilt'
|
3
3
|
|
4
4
|
begin
|
5
|
+
require 'rdoc'
|
5
6
|
require 'rdoc/markup'
|
6
7
|
require 'rdoc/markup/to_html'
|
7
8
|
class RDocTemplateTest < Test::Unit::TestCase
|
@@ -11,14 +12,20 @@ begin
|
|
11
12
|
|
12
13
|
test "preparing and evaluating the template with #render" do
|
13
14
|
template = Tilt::RDocTemplate.new { |t| "= Hello World!" }
|
14
|
-
|
15
|
+
result = template.render.strip
|
16
|
+
assert_match /<h1/, result
|
17
|
+
assert_match />Hello World!</, result
|
15
18
|
end
|
16
19
|
|
17
20
|
test "can be rendered more than once" do
|
18
21
|
template = Tilt::RDocTemplate.new { |t| "= Hello World!" }
|
19
|
-
3.times
|
22
|
+
3.times do
|
23
|
+
result = template.render.strip
|
24
|
+
assert_match /<h1/, result
|
25
|
+
assert_match />Hello World!</, result
|
26
|
+
end
|
20
27
|
end
|
21
28
|
end
|
22
29
|
rescue LoadError => boom
|
23
|
-
warn "Tilt::RDocTemplate (disabled)
|
30
|
+
warn "Tilt::RDocTemplate (disabled) [#{boom}]"
|
24
31
|
end
|
@@ -37,6 +37,11 @@ begin
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
+
test "redcarpet2 is our default choice" do
|
41
|
+
template = Tilt::RedcarpetTemplate.new {}
|
42
|
+
assert_equal Tilt::RedcarpetTemplate::Redcarpet2, template.prepare.class
|
43
|
+
end
|
44
|
+
|
40
45
|
test "preparing and evaluating templates on #render" do
|
41
46
|
template = Tilt::RedcarpetTemplate.new { |t| "# Hello World!" }
|
42
47
|
assert_equal "<h1>Hello World!</h1>\n", template.render
|
@@ -48,12 +53,19 @@ begin
|
|
48
53
|
end
|
49
54
|
|
50
55
|
test "smartypants when :smart is set" do
|
51
|
-
template = Tilt::RedcarpetTemplate.new(:
|
56
|
+
template = Tilt::RedcarpetTemplate.new(:smartypants => true) { |t|
|
57
|
+
"OKAY -- 'Smarty Pants'" }
|
58
|
+
assert_match /<p>OKAY – 'Smarty Pants'<\/p>/,
|
59
|
+
template.render
|
60
|
+
end
|
61
|
+
|
62
|
+
test "smartypants with a rendererer instance" do
|
63
|
+
template = Tilt::RedcarpetTemplate.new(:renderer => Redcarpet::Render::HTML.new(:hard_wrap => true), :smartypants => true) { |t|
|
52
64
|
"OKAY -- 'Smarty Pants'" }
|
53
|
-
assert_match /<p>OKAY &
|
65
|
+
assert_match /<p>OKAY – 'Smarty Pants'<\/p>/,
|
54
66
|
template.render
|
55
67
|
end
|
56
68
|
end
|
57
69
|
rescue LoadError => boom
|
58
|
-
warn "Tilt::RedcarpetTemplate (disabled)
|
70
|
+
warn "Tilt::RedcarpetTemplate (disabled)"
|
59
71
|
end
|
@@ -18,7 +18,19 @@ begin
|
|
18
18
|
template = Tilt::RedClothTemplate.new { |t| "h1. Hello World!" }
|
19
19
|
3.times { assert_equal "<h1>Hello World!</h1>", template.render }
|
20
20
|
end
|
21
|
+
|
22
|
+
test "ignores unknown options" do
|
23
|
+
template = Tilt::RedClothTemplate.new(:foo => "bar") { |t| "h1. Hello World!" }
|
24
|
+
3.times { assert_equal "<h1>Hello World!</h1>", template.render }
|
25
|
+
end
|
26
|
+
|
27
|
+
test "passes in RedCloth options" do
|
28
|
+
template = Tilt::RedClothTemplate.new { |t| "Hard breaks are\ninserted by default." }
|
29
|
+
assert_equal "<p>Hard breaks are<br />\ninserted by default.</p>", template.render
|
30
|
+
template = Tilt::RedClothTemplate.new(:hard_breaks => false) { |t| "But they can be\nturned off." }
|
31
|
+
assert_equal "<p>But they can be\nturned off.</p>", template.render
|
32
|
+
end
|
21
33
|
end
|
22
34
|
rescue LoadError => boom
|
23
|
-
warn "Tilt::RedClothTemplate (disabled)
|
35
|
+
warn "Tilt::RedClothTemplate (disabled)"
|
24
36
|
end
|
@@ -119,7 +119,7 @@ class CompiledStringTemplateTest < Test::Unit::TestCase
|
|
119
119
|
assert_equal "Hello\nWorld!\n", template.render(Scope.new)
|
120
120
|
end
|
121
121
|
|
122
|
-
|
122
|
+
|
123
123
|
test "template with '}'" do
|
124
124
|
template = Tilt::StringTemplate.new { "Hello }" }
|
125
125
|
assert_equal "Hello }", template.render
|
data/test/tilt_template_test.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'contest'
|
2
2
|
require 'tilt'
|
3
|
+
require 'tempfile'
|
3
4
|
|
4
5
|
class TiltTemplateTest < Test::Unit::TestCase
|
5
6
|
|
@@ -23,6 +24,12 @@ class TiltTemplateTest < Test::Unit::TestCase
|
|
23
24
|
assert_equal 55, inst.line
|
24
25
|
end
|
25
26
|
|
27
|
+
test "initializing with a tempfile" do
|
28
|
+
tempfile = Tempfile.new('tilt_template_test')
|
29
|
+
inst = MockTemplate.new(tempfile)
|
30
|
+
assert_equal File.basename(tempfile.path), inst.basename
|
31
|
+
end
|
32
|
+
|
26
33
|
test "uses correct eval_file" do
|
27
34
|
inst = MockTemplate.new('foo.erb', 55) {}
|
28
35
|
assert_equal 'foo.erb', inst.eval_file
|
@@ -127,6 +134,12 @@ class TiltTemplateTest < Test::Unit::TestCase
|
|
127
134
|
assert inst.prepared?
|
128
135
|
end
|
129
136
|
|
137
|
+
test "template_source with locals having non-variable keys raises error" do
|
138
|
+
inst = SourceGeneratingMockTemplate.new { |t| '1 + 2 = #{ANSWER}' }
|
139
|
+
err = assert_raise(RuntimeError) { inst.render(Object.new, 'ANSWER' => '3') }
|
140
|
+
assert_equal "invalid locals key: \"ANSWER\" (keys must be variable names)", err.message
|
141
|
+
end
|
142
|
+
|
130
143
|
class Person
|
131
144
|
CONSTANT = "Bob"
|
132
145
|
|
@@ -11,12 +11,20 @@ begin
|
|
11
11
|
|
12
12
|
test "compiles and evaluates the template on #render" do
|
13
13
|
template = Tilt::YajlTemplate.new { "json = { :integer => 3, :string => 'hello' }" }
|
14
|
-
|
14
|
+
output = template.render
|
15
|
+
result = Yajl::Parser.parse(output)
|
16
|
+
expect = {"integer" => 3,"string" => "hello"}
|
17
|
+
assert_equal expect, result
|
15
18
|
end
|
16
19
|
|
17
20
|
test "can be rendered more than once" do
|
18
21
|
template = Tilt::YajlTemplate.new { "json = { :integer => 3, :string => 'hello' }" }
|
19
|
-
|
22
|
+
expect = {"integer" => 3,"string" => "hello"}
|
23
|
+
3.times do
|
24
|
+
output = template.render
|
25
|
+
result = Yajl::Parser.parse(output)
|
26
|
+
assert_equal expect, result
|
27
|
+
end
|
20
28
|
end
|
21
29
|
|
22
30
|
test "evaluating ruby code" do
|
@@ -65,7 +73,8 @@ begin
|
|
65
73
|
json[:integer] = four
|
66
74
|
nil
|
67
75
|
} }
|
68
|
-
|
76
|
+
result = template.render
|
77
|
+
assert( (result == '{"string":"hello","integer":4}') || (result == '{"integer":4,"string":"hello"}') )
|
69
78
|
end
|
70
79
|
|
71
80
|
test "option callback" do
|
@@ -88,5 +97,5 @@ begin
|
|
88
97
|
|
89
98
|
end
|
90
99
|
rescue LoadError
|
91
|
-
warn "Tilt::YajlTemplateTest (disabled)
|
100
|
+
warn "Tilt::YajlTemplateTest (disabled)"
|
92
101
|
end
|
data/tilt.gemspec
CHANGED
@@ -3,11 +3,12 @@ Gem::Specification.new do |s|
|
|
3
3
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
4
4
|
|
5
5
|
s.name = 'tilt'
|
6
|
-
s.version = '1.3.
|
7
|
-
s.date = '
|
6
|
+
s.version = '1.3.4'
|
7
|
+
s.date = '2013-02-28'
|
8
8
|
|
9
9
|
s.description = "Generic interface to multiple Ruby template engines"
|
10
10
|
s.summary = s.description
|
11
|
+
s.license = "MIT"
|
11
12
|
|
12
13
|
s.authors = ["Ryan Tomayko"]
|
13
14
|
s.email = "r@tomayko.com"
|
@@ -16,20 +17,25 @@ Gem::Specification.new do |s|
|
|
16
17
|
s.files = %w[
|
17
18
|
COPYING
|
18
19
|
Gemfile
|
20
|
+
HACKING
|
19
21
|
README.md
|
20
22
|
Rakefile
|
21
23
|
TEMPLATES.md
|
22
24
|
bin/tilt
|
23
25
|
lib/tilt.rb
|
26
|
+
lib/tilt/asciidoc.rb
|
24
27
|
lib/tilt/builder.rb
|
25
28
|
lib/tilt/coffee.rb
|
26
29
|
lib/tilt/css.rb
|
30
|
+
lib/tilt/csv.rb
|
27
31
|
lib/tilt/erb.rb
|
32
|
+
lib/tilt/etanni.rb
|
28
33
|
lib/tilt/haml.rb
|
29
34
|
lib/tilt/liquid.rb
|
30
35
|
lib/tilt/markaby.rb
|
31
36
|
lib/tilt/markdown.rb
|
32
37
|
lib/tilt/nokogiri.rb
|
38
|
+
lib/tilt/plain.rb
|
33
39
|
lib/tilt/radius.rb
|
34
40
|
lib/tilt/rdoc.rb
|
35
41
|
lib/tilt/string.rb
|
@@ -44,17 +50,21 @@ Gem::Specification.new do |s|
|
|
44
50
|
test/markaby/render_twice.mab
|
45
51
|
test/markaby/scope.mab
|
46
52
|
test/markaby/yielding.mab
|
53
|
+
test/tilt_asciidoctor_test.rb
|
47
54
|
test/tilt_blueclothtemplate_test.rb
|
48
55
|
test/tilt_buildertemplate_test.rb
|
49
56
|
test/tilt_cache_test.rb
|
50
57
|
test/tilt_coffeescripttemplate_test.rb
|
51
58
|
test/tilt_compilesite_test.rb
|
52
59
|
test/tilt_creoletemplate_test.rb
|
60
|
+
test/tilt_csv_test.rb
|
53
61
|
test/tilt_erbtemplate_test.rb
|
54
62
|
test/tilt_erubistemplate_test.rb
|
63
|
+
test/tilt_etannitemplate_test.rb
|
55
64
|
test/tilt_fallback_test.rb
|
56
65
|
test/tilt_hamltemplate_test.rb
|
57
66
|
test/tilt_kramdown_test.rb
|
67
|
+
test/tilt_lesstemplate_test.less
|
58
68
|
test/tilt_lesstemplate_test.rb
|
59
69
|
test/tilt_liquidtemplate_test.rb
|
60
70
|
test/tilt_markaby_test.rb
|
@@ -78,29 +88,29 @@ Gem::Specification.new do |s|
|
|
78
88
|
|
79
89
|
s.executables = ['tilt']
|
80
90
|
s.test_files = s.files.select {|path| path =~ /^test\/.*_test.rb/}
|
81
|
-
s.add_development_dependency '
|
91
|
+
s.add_development_dependency 'asciidoctor', '>= 0.1.0'
|
92
|
+
s.add_development_dependency 'RedCloth'
|
93
|
+
s.add_development_dependency 'bluecloth'
|
82
94
|
s.add_development_dependency 'builder'
|
95
|
+
s.add_development_dependency 'coffee-script'
|
96
|
+
s.add_development_dependency 'contest'
|
97
|
+
s.add_development_dependency 'creole'
|
83
98
|
s.add_development_dependency 'erubis'
|
84
99
|
s.add_development_dependency 'haml', '>= 2.2.11'
|
85
|
-
s.add_development_dependency '
|
86
|
-
s.add_development_dependency 'rdiscount'
|
87
|
-
s.add_development_dependency 'liquid'
|
100
|
+
s.add_development_dependency 'kramdown'
|
88
101
|
s.add_development_dependency 'less'
|
89
|
-
s.add_development_dependency '
|
90
|
-
s.add_development_dependency 'nokogiri'
|
102
|
+
s.add_development_dependency 'liquid'
|
91
103
|
s.add_development_dependency 'markaby'
|
92
|
-
s.add_development_dependency 'coffee-script'
|
93
|
-
s.add_development_dependency 'bluecloth'
|
94
|
-
s.add_development_dependency 'RedCloth'
|
95
104
|
s.add_development_dependency 'maruku'
|
96
|
-
s.add_development_dependency '
|
97
|
-
s.add_development_dependency '
|
105
|
+
s.add_development_dependency 'nokogiri'
|
106
|
+
s.add_development_dependency 'radius'
|
107
|
+
s.add_development_dependency 'rdiscount'
|
108
|
+
s.add_development_dependency 'rdoc'
|
98
109
|
s.add_development_dependency 'redcarpet'
|
99
|
-
s.add_development_dependency '
|
100
|
-
s.add_development_dependency 'yajl-ruby'
|
110
|
+
s.add_development_dependency 'sass'
|
101
111
|
s.add_development_dependency 'wikicloth'
|
102
|
-
s.add_development_dependency '
|
103
|
-
s.add_development_dependency '
|
112
|
+
s.add_development_dependency 'yajl-ruby'
|
113
|
+
s.add_development_dependency 'rdoc'
|
104
114
|
|
105
115
|
s.homepage = "http://github.com/rtomayko/tilt/"
|
106
116
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Tilt", "--main", "Tilt"]
|