sinatra-acd 1.4.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +5 -0
  3. data/AUTHORS +61 -0
  4. data/CHANGES +1293 -0
  5. data/Gemfile +76 -0
  6. data/LICENSE +23 -0
  7. data/README.de.md +2864 -0
  8. data/README.es.md +2786 -0
  9. data/README.fr.md +2924 -0
  10. data/README.hu.md +694 -0
  11. data/README.ja.md +2726 -0
  12. data/README.ko.md +2832 -0
  13. data/README.md +2980 -0
  14. data/README.pt-br.md +965 -0
  15. data/README.pt-pt.md +791 -0
  16. data/README.ru.md +2799 -0
  17. data/README.zh.md +2158 -0
  18. data/Rakefile +199 -0
  19. data/examples/chat.rb +61 -0
  20. data/examples/simple.rb +3 -0
  21. data/examples/stream.ru +26 -0
  22. data/lib/sinatra.rb +4 -0
  23. data/lib/sinatra/base.rb +2044 -0
  24. data/lib/sinatra/images/404.png +0 -0
  25. data/lib/sinatra/images/500.png +0 -0
  26. data/lib/sinatra/main.rb +34 -0
  27. data/lib/sinatra/show_exceptions.rb +345 -0
  28. data/lib/sinatra/version.rb +3 -0
  29. data/sinatra.gemspec +19 -0
  30. data/test/asciidoctor_test.rb +72 -0
  31. data/test/base_test.rb +171 -0
  32. data/test/builder_test.rb +91 -0
  33. data/test/coffee_test.rb +90 -0
  34. data/test/compile_test.rb +183 -0
  35. data/test/contest.rb +100 -0
  36. data/test/creole_test.rb +65 -0
  37. data/test/delegator_test.rb +160 -0
  38. data/test/encoding_test.rb +20 -0
  39. data/test/erb_test.rb +116 -0
  40. data/test/extensions_test.rb +98 -0
  41. data/test/filter_test.rb +487 -0
  42. data/test/haml_test.rb +109 -0
  43. data/test/helper.rb +131 -0
  44. data/test/helpers_test.rb +1917 -0
  45. data/test/integration/app.rb +79 -0
  46. data/test/integration_helper.rb +236 -0
  47. data/test/integration_test.rb +104 -0
  48. data/test/less_test.rb +69 -0
  49. data/test/liquid_test.rb +77 -0
  50. data/test/mapped_error_test.rb +285 -0
  51. data/test/markaby_test.rb +80 -0
  52. data/test/markdown_test.rb +82 -0
  53. data/test/mediawiki_test.rb +68 -0
  54. data/test/middleware_test.rb +68 -0
  55. data/test/nokogiri_test.rb +67 -0
  56. data/test/public/favicon.ico +0 -0
  57. data/test/rabl_test.rb +89 -0
  58. data/test/rack_test.rb +45 -0
  59. data/test/radius_test.rb +59 -0
  60. data/test/rdoc_test.rb +66 -0
  61. data/test/readme_test.rb +130 -0
  62. data/test/request_test.rb +97 -0
  63. data/test/response_test.rb +63 -0
  64. data/test/result_test.rb +76 -0
  65. data/test/route_added_hook_test.rb +59 -0
  66. data/test/routing_test.rb +1412 -0
  67. data/test/sass_test.rb +115 -0
  68. data/test/scss_test.rb +88 -0
  69. data/test/server_test.rb +48 -0
  70. data/test/settings_test.rb +582 -0
  71. data/test/sinatra_test.rb +12 -0
  72. data/test/slim_test.rb +102 -0
  73. data/test/static_test.rb +236 -0
  74. data/test/streaming_test.rb +149 -0
  75. data/test/stylus_test.rb +90 -0
  76. data/test/templates_test.rb +382 -0
  77. data/test/textile_test.rb +65 -0
  78. data/test/views/a/in_a.str +1 -0
  79. data/test/views/ascii.erb +2 -0
  80. data/test/views/b/in_b.str +1 -0
  81. data/test/views/calc.html.erb +1 -0
  82. data/test/views/error.builder +3 -0
  83. data/test/views/error.erb +3 -0
  84. data/test/views/error.haml +3 -0
  85. data/test/views/error.sass +2 -0
  86. data/test/views/explicitly_nested.str +1 -0
  87. data/test/views/foo/hello.test +1 -0
  88. data/test/views/hello.asciidoc +1 -0
  89. data/test/views/hello.builder +1 -0
  90. data/test/views/hello.coffee +1 -0
  91. data/test/views/hello.creole +1 -0
  92. data/test/views/hello.erb +1 -0
  93. data/test/views/hello.haml +1 -0
  94. data/test/views/hello.less +5 -0
  95. data/test/views/hello.liquid +1 -0
  96. data/test/views/hello.mab +1 -0
  97. data/test/views/hello.md +1 -0
  98. data/test/views/hello.mediawiki +1 -0
  99. data/test/views/hello.nokogiri +1 -0
  100. data/test/views/hello.rabl +2 -0
  101. data/test/views/hello.radius +1 -0
  102. data/test/views/hello.rdoc +1 -0
  103. data/test/views/hello.sass +2 -0
  104. data/test/views/hello.scss +3 -0
  105. data/test/views/hello.slim +1 -0
  106. data/test/views/hello.str +1 -0
  107. data/test/views/hello.styl +2 -0
  108. data/test/views/hello.test +1 -0
  109. data/test/views/hello.textile +1 -0
  110. data/test/views/hello.wlang +1 -0
  111. data/test/views/hello.yajl +1 -0
  112. data/test/views/layout2.builder +3 -0
  113. data/test/views/layout2.erb +2 -0
  114. data/test/views/layout2.haml +2 -0
  115. data/test/views/layout2.liquid +2 -0
  116. data/test/views/layout2.mab +2 -0
  117. data/test/views/layout2.nokogiri +3 -0
  118. data/test/views/layout2.rabl +3 -0
  119. data/test/views/layout2.radius +2 -0
  120. data/test/views/layout2.slim +3 -0
  121. data/test/views/layout2.str +2 -0
  122. data/test/views/layout2.test +1 -0
  123. data/test/views/layout2.wlang +2 -0
  124. data/test/views/nested.str +1 -0
  125. data/test/views/utf8.erb +2 -0
  126. data/test/wlang_test.rb +87 -0
  127. data/test/yajl_test.rb +86 -0
  128. metadata +280 -0
@@ -0,0 +1,65 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ begin
4
+ require 'redcloth'
5
+
6
+ class TextileTest < Test::Unit::TestCase
7
+ def textile_app(&block)
8
+ mock_app do
9
+ set :views, File.dirname(__FILE__) + '/views'
10
+ get('/', &block)
11
+ end
12
+ get '/'
13
+ end
14
+
15
+ it 'renders inline textile strings' do
16
+ textile_app { textile('h1. Hiya') }
17
+ assert ok?
18
+ assert_equal "<h1>Hiya</h1>", body
19
+ end
20
+
21
+ it 'renders .textile files in views path' do
22
+ textile_app { textile(:hello) }
23
+ assert ok?
24
+ assert_equal "<h1>Hello From Textile</h1>", body
25
+ end
26
+
27
+ it "raises error if template not found" do
28
+ mock_app { get('/') { textile(:no_such_template) } }
29
+ assert_raise(Errno::ENOENT) { get('/') }
30
+ end
31
+
32
+ it "renders with inline layouts" do
33
+ mock_app do
34
+ layout { 'THIS. IS. #{yield.upcase}!' }
35
+ get('/') { textile('Sparta', :layout_engine => :str) }
36
+ end
37
+ get '/'
38
+ assert ok?
39
+ assert_like 'THIS. IS. <P>SPARTA</P>!', body
40
+ end
41
+
42
+ it "renders with file layouts" do
43
+ textile_app {
44
+ textile('Hello World', :layout => :layout2, :layout_engine => :erb)
45
+ }
46
+ assert ok?
47
+ assert_body "ERB Layout!\n<p>Hello World</p>"
48
+ end
49
+
50
+ it "can be used in a nested fashion for partials and whatnot" do
51
+ mock_app do
52
+ template(:inner) { "hi" }
53
+ template(:outer) { "<outer><%= textile :inner %></outer>" }
54
+ get('/') { erb :outer }
55
+ end
56
+
57
+ get '/'
58
+ assert ok?
59
+ assert_like '<outer><p>hi</p></outer>', body
60
+ end
61
+ end
62
+
63
+ rescue LoadError
64
+ warn "#{$!.to_s}: skipping textile tests"
65
+ end
@@ -0,0 +1 @@
1
+ Gimme an A!
@@ -0,0 +1,2 @@
1
+ This file has no unicode in it!
2
+ <%= value %>
@@ -0,0 +1 @@
1
+ Gimme a B!
@@ -0,0 +1 @@
1
+ <%= 1 + 1 %>
@@ -0,0 +1,3 @@
1
+ xml.error do
2
+ raise "goodbye"
3
+ end
@@ -0,0 +1,3 @@
1
+ Hello <%= 'World' %>
2
+ <% raise 'Goodbye' unless defined?(french) && french %>
3
+ <% raise 'Au revoir' if defined?(french) && french %>
@@ -0,0 +1,3 @@
1
+ %h1 Hello From Haml
2
+ = raise 'goodbye' unless defined?(french) && french
3
+ = raise 'au revoir' if defined?(french) && french
@@ -0,0 +1,2 @@
1
+ #sass
2
+ +argle-bargle
@@ -0,0 +1 @@
1
+ <content>#{render :str, :hello, :layout => :layout2}</content>
@@ -0,0 +1 @@
1
+ from another views directory
@@ -0,0 +1 @@
1
+ == Hello from AsciiDoc
@@ -0,0 +1 @@
1
+ xml.exclaim "You're my boy, #{@name}!"
@@ -0,0 +1 @@
1
+ alert "Aye!"
@@ -0,0 +1 @@
1
+ = Hello From Creole
@@ -0,0 +1 @@
1
+ Hello <%= 'World' %>
@@ -0,0 +1 @@
1
+ %h1 Hello From Haml
@@ -0,0 +1,5 @@
1
+ @white_colour: #fff;
2
+
3
+ #main {
4
+ background-color: @white_colour;
5
+ }
@@ -0,0 +1 @@
1
+ <h1>Hello From Liquid</h1>
@@ -0,0 +1 @@
1
+ h1 "Hello From Markaby"
@@ -0,0 +1 @@
1
+ # Hello From Markdown
@@ -0,0 +1 @@
1
+ ''Hello from MediaWiki''
@@ -0,0 +1 @@
1
+ xml.exclaim "You're my boy, #{@name}!"
@@ -0,0 +1,2 @@
1
+ object @foo
2
+ attributes :bar
@@ -0,0 +1 @@
1
+ <h1>Hello From Radius</h1>
@@ -0,0 +1 @@
1
+ = Hello From RDoc
@@ -0,0 +1,2 @@
1
+ #sass
2
+ :background-color white
@@ -0,0 +1,3 @@
1
+ #scss {
2
+ background-color: white
3
+ }
@@ -0,0 +1 @@
1
+ h1 Hello From Slim
@@ -0,0 +1 @@
1
+ <h1>Hello From String</h1>
@@ -0,0 +1,2 @@
1
+ a
2
+ margin auto
@@ -0,0 +1 @@
1
+ Hello World!
@@ -0,0 +1 @@
1
+ h1. Hello From Textile
@@ -0,0 +1 @@
1
+ Hello from wlang!
@@ -0,0 +1 @@
1
+ json = { :yajl => "hello" }
@@ -0,0 +1,3 @@
1
+ xml.layout do
2
+ xml << yield
3
+ end
@@ -0,0 +1,2 @@
1
+ ERB Layout!
2
+ <%= yield %>
@@ -0,0 +1,2 @@
1
+ %h1 HAML Layout!
2
+ %p= yield
@@ -0,0 +1,2 @@
1
+ <h1>Liquid Layout!</h1>
2
+ <p>{{ yield }}</p>
@@ -0,0 +1,2 @@
1
+ h1 "Markaby Layout!"
2
+ p { yield }
@@ -0,0 +1,3 @@
1
+ xml.layout do
2
+ xml << yield
3
+ end
@@ -0,0 +1,3 @@
1
+ node(:qux) do
2
+ ::JSON.parse(yield)
3
+ end
@@ -0,0 +1,2 @@
1
+ <h1>Radius Layout!</h1>
2
+ <p><r:yield /></p>
@@ -0,0 +1,3 @@
1
+ h1 Slim Layout!
2
+ p
3
+ == yield
@@ -0,0 +1,2 @@
1
+ <h1>String Layout!</h1>
2
+ #{yield}
@@ -0,0 +1 @@
1
+ Layout 2!
@@ -0,0 +1,2 @@
1
+ WLang Layout!
2
+ +{yield}
@@ -0,0 +1 @@
1
+ <content>#{render :str, :hello}</content>
@@ -0,0 +1,2 @@
1
+ <h1><%= value %></h1>
2
+ Ingen vill veta var du köpt din tröja.
@@ -0,0 +1,87 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ begin
4
+ require 'wlang'
5
+
6
+ class WLangTest < Test::Unit::TestCase
7
+ def engine
8
+ Tilt::WLangTemplate
9
+ end
10
+
11
+ def wlang_app(&block)
12
+ mock_app {
13
+ set :views, File.dirname(__FILE__) + '/views'
14
+ get '/', &block
15
+ }
16
+ get '/'
17
+ end
18
+
19
+ it 'uses the correct engine' do
20
+ assert_equal engine, Tilt[:wlang]
21
+ end
22
+
23
+ it 'renders .wlang files in views path' do
24
+ wlang_app { wlang :hello }
25
+ assert ok?
26
+ assert_equal "Hello from wlang!\n", body
27
+ end
28
+
29
+ it 'renders in the app instance scope' do
30
+ mock_app do
31
+ helpers do
32
+ def who; "world"; end
33
+ end
34
+ get('/') { wlang 'Hello +{who}!' }
35
+ end
36
+ get '/'
37
+ assert ok?
38
+ assert_equal 'Hello world!', body
39
+ end
40
+
41
+ it 'takes a :locals option' do
42
+ wlang_app do
43
+ locals = {:foo => 'Bar'}
44
+ wlang 'Hello ${foo}!', :locals => locals
45
+ end
46
+ assert ok?
47
+ assert_equal 'Hello Bar!', body
48
+ end
49
+
50
+ it "renders with inline layouts" do
51
+ mock_app do
52
+ layout { 'THIS. IS. +{yield.upcase}!' }
53
+ get('/') { wlang 'Sparta' }
54
+ end
55
+ get '/'
56
+ assert ok?
57
+ assert_equal 'THIS. IS. SPARTA!', body
58
+ end
59
+
60
+ it "renders with file layouts" do
61
+ wlang_app { wlang 'Hello World', :layout => :layout2 }
62
+ assert ok?
63
+ assert_body "WLang Layout!\nHello World"
64
+ end
65
+
66
+ it "can rendered truly nested layouts by accepting a layout and a block with the contents" do
67
+ mock_app do
68
+ template(:main_outer_layout) { "<h1>Title</h1>\n>{ yield }" }
69
+ template(:an_inner_layout) { "<h2>Subtitle</h2>\n>{ yield }" }
70
+ template(:a_page) { "<p>Contents.</p>\n" }
71
+ get('/') do
72
+ wlang :main_outer_layout, :layout => false do
73
+ wlang :an_inner_layout do
74
+ wlang :a_page
75
+ end
76
+ end
77
+ end
78
+ end
79
+ get '/'
80
+ assert ok?
81
+ assert_body "<h1>Title</h1>\n<h2>Subtitle</h2>\n<p>Contents.</p>\n"
82
+ end
83
+ end
84
+
85
+ rescue LoadError
86
+ warn "#{$!.to_s}: skipping wlang tests"
87
+ end
@@ -0,0 +1,86 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ begin
4
+ require 'yajl'
5
+
6
+ class YajlTest < Test::Unit::TestCase
7
+ def yajl_app(&block)
8
+ mock_app do
9
+ set :views, File.dirname(__FILE__) + '/views'
10
+ get('/', &block)
11
+ end
12
+ get '/'
13
+ end
14
+
15
+ it 'renders inline Yajl strings' do
16
+ yajl_app { yajl('json = { :foo => "bar" }') }
17
+ assert ok?
18
+ assert_body '{"foo":"bar"}'
19
+ end
20
+
21
+ it 'renders .yajl files in views path' do
22
+ yajl_app { yajl(:hello) }
23
+ assert ok?
24
+ assert_body '{"yajl":"hello"}'
25
+ end
26
+
27
+ it 'raises error if template not found' do
28
+ mock_app { get('/') { yajl(:no_such_template) } }
29
+ assert_raise(Errno::ENOENT) { get('/') }
30
+ end
31
+
32
+ it 'accepts a :locals option' do
33
+ yajl_app do
34
+ locals = { :object => { :foo => 'bar' } }
35
+ yajl 'json = object', :locals => locals
36
+ end
37
+ assert ok?
38
+ assert_body '{"foo":"bar"}'
39
+ end
40
+
41
+ it 'accepts a :scope option' do
42
+ yajl_app do
43
+ scope = { :object => { :foo => 'bar' } }
44
+ yajl 'json = self[:object]', :scope => scope
45
+ end
46
+ assert ok?
47
+ assert_body '{"foo":"bar"}'
48
+ end
49
+
50
+ it 'decorates the json with a callback' do
51
+ yajl_app do
52
+ yajl(
53
+ 'json = { :foo => "bar" }',
54
+ { :callback => 'baz' }
55
+ )
56
+ end
57
+ assert ok?
58
+ assert_body 'baz({"foo":"bar"});'
59
+ end
60
+
61
+ it 'decorates the json with a variable' do
62
+ yajl_app do
63
+ yajl(
64
+ 'json = { :foo => "bar" }',
65
+ { :variable => 'qux' }
66
+ )
67
+ end
68
+ assert ok?
69
+ assert_body 'var qux = {"foo":"bar"};'
70
+ end
71
+
72
+ it 'decorates the json with a callback and a variable' do
73
+ yajl_app do
74
+ yajl(
75
+ 'json = { :foo => "bar" }',
76
+ { :callback => 'baz', :variable => 'qux' }
77
+ )
78
+ end
79
+ assert ok?
80
+ assert_body 'var qux = {"foo":"bar"}; baz(qux);'
81
+ end
82
+ end
83
+
84
+ rescue LoadError
85
+ warn "#{$!.to_s}: skipping yajl tests"
86
+ end
metadata ADDED
@@ -0,0 +1,280 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sinatra-acd
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.4.5
5
+ platform: ruby
6
+ authors:
7
+ - Blake Mizerany
8
+ - Ryan Tomayko
9
+ - Simon Rozet
10
+ - Konstantin Haase
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2014-07-18 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: rack
18
+ requirement: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - "~>"
21
+ - !ruby/object:Gem::Version
22
+ version: '1.4'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.4'
30
+ - !ruby/object:Gem::Dependency
31
+ name: tilt
32
+ requirement: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - "~>"
35
+ - !ruby/object:Gem::Version
36
+ version: 2.0.1
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: 2.0.1
44
+ - !ruby/object:Gem::Dependency
45
+ name: rack-protection
46
+ requirement: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: '1.4'
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '1.4'
58
+ description: Sinatra is a DSL for quickly creating web applications in Ruby with minimal
59
+ effort.
60
+ email: sinatrarb@googlegroups.com
61
+ executables: []
62
+ extensions: []
63
+ extra_rdoc_files:
64
+ - README.de.md
65
+ - README.es.md
66
+ - README.fr.md
67
+ - README.hu.md
68
+ - README.ja.md
69
+ - README.ko.md
70
+ - README.md
71
+ - README.pt-br.md
72
+ - README.pt-pt.md
73
+ - README.ru.md
74
+ - README.zh.md
75
+ - LICENSE
76
+ files:
77
+ - ".yardopts"
78
+ - AUTHORS
79
+ - CHANGES
80
+ - Gemfile
81
+ - LICENSE
82
+ - README.de.md
83
+ - README.es.md
84
+ - README.fr.md
85
+ - README.hu.md
86
+ - README.ja.md
87
+ - README.ko.md
88
+ - README.md
89
+ - README.pt-br.md
90
+ - README.pt-pt.md
91
+ - README.ru.md
92
+ - README.zh.md
93
+ - Rakefile
94
+ - examples/chat.rb
95
+ - examples/simple.rb
96
+ - examples/stream.ru
97
+ - lib/sinatra.rb
98
+ - lib/sinatra/base.rb
99
+ - lib/sinatra/images/404.png
100
+ - lib/sinatra/images/500.png
101
+ - lib/sinatra/main.rb
102
+ - lib/sinatra/show_exceptions.rb
103
+ - lib/sinatra/version.rb
104
+ - sinatra.gemspec
105
+ - test/asciidoctor_test.rb
106
+ - test/base_test.rb
107
+ - test/builder_test.rb
108
+ - test/coffee_test.rb
109
+ - test/compile_test.rb
110
+ - test/contest.rb
111
+ - test/creole_test.rb
112
+ - test/delegator_test.rb
113
+ - test/encoding_test.rb
114
+ - test/erb_test.rb
115
+ - test/extensions_test.rb
116
+ - test/filter_test.rb
117
+ - test/haml_test.rb
118
+ - test/helper.rb
119
+ - test/helpers_test.rb
120
+ - test/integration/app.rb
121
+ - test/integration_helper.rb
122
+ - test/integration_test.rb
123
+ - test/less_test.rb
124
+ - test/liquid_test.rb
125
+ - test/mapped_error_test.rb
126
+ - test/markaby_test.rb
127
+ - test/markdown_test.rb
128
+ - test/mediawiki_test.rb
129
+ - test/middleware_test.rb
130
+ - test/nokogiri_test.rb
131
+ - test/public/favicon.ico
132
+ - test/rabl_test.rb
133
+ - test/rack_test.rb
134
+ - test/radius_test.rb
135
+ - test/rdoc_test.rb
136
+ - test/readme_test.rb
137
+ - test/request_test.rb
138
+ - test/response_test.rb
139
+ - test/result_test.rb
140
+ - test/route_added_hook_test.rb
141
+ - test/routing_test.rb
142
+ - test/sass_test.rb
143
+ - test/scss_test.rb
144
+ - test/server_test.rb
145
+ - test/settings_test.rb
146
+ - test/sinatra_test.rb
147
+ - test/slim_test.rb
148
+ - test/static_test.rb
149
+ - test/streaming_test.rb
150
+ - test/stylus_test.rb
151
+ - test/templates_test.rb
152
+ - test/textile_test.rb
153
+ - test/views/a/in_a.str
154
+ - test/views/ascii.erb
155
+ - test/views/b/in_b.str
156
+ - test/views/calc.html.erb
157
+ - test/views/error.builder
158
+ - test/views/error.erb
159
+ - test/views/error.haml
160
+ - test/views/error.sass
161
+ - test/views/explicitly_nested.str
162
+ - test/views/foo/hello.test
163
+ - test/views/hello.asciidoc
164
+ - test/views/hello.builder
165
+ - test/views/hello.coffee
166
+ - test/views/hello.creole
167
+ - test/views/hello.erb
168
+ - test/views/hello.haml
169
+ - test/views/hello.less
170
+ - test/views/hello.liquid
171
+ - test/views/hello.mab
172
+ - test/views/hello.md
173
+ - test/views/hello.mediawiki
174
+ - test/views/hello.nokogiri
175
+ - test/views/hello.rabl
176
+ - test/views/hello.radius
177
+ - test/views/hello.rdoc
178
+ - test/views/hello.sass
179
+ - test/views/hello.scss
180
+ - test/views/hello.slim
181
+ - test/views/hello.str
182
+ - test/views/hello.styl
183
+ - test/views/hello.test
184
+ - test/views/hello.textile
185
+ - test/views/hello.wlang
186
+ - test/views/hello.yajl
187
+ - test/views/layout2.builder
188
+ - test/views/layout2.erb
189
+ - test/views/layout2.haml
190
+ - test/views/layout2.liquid
191
+ - test/views/layout2.mab
192
+ - test/views/layout2.nokogiri
193
+ - test/views/layout2.rabl
194
+ - test/views/layout2.radius
195
+ - test/views/layout2.slim
196
+ - test/views/layout2.str
197
+ - test/views/layout2.test
198
+ - test/views/layout2.wlang
199
+ - test/views/nested.str
200
+ - test/views/utf8.erb
201
+ - test/wlang_test.rb
202
+ - test/yajl_test.rb
203
+ homepage: http://www.sinatrarb.com/
204
+ licenses:
205
+ - MIT
206
+ metadata: {}
207
+ post_install_message:
208
+ rdoc_options:
209
+ - "--line-numbers"
210
+ - "--inline-source"
211
+ - "--title"
212
+ - Sinatra
213
+ - "--main"
214
+ - README.rdoc
215
+ - "--encoding=UTF-8"
216
+ require_paths:
217
+ - lib
218
+ required_ruby_version: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ required_rubygems_version: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - ">="
226
+ - !ruby/object:Gem::Version
227
+ version: '0'
228
+ requirements: []
229
+ rubyforge_project:
230
+ rubygems_version: 2.3.0
231
+ signing_key:
232
+ specification_version: 4
233
+ summary: Classy web-development dressed in a DSL
234
+ test_files:
235
+ - test/asciidoctor_test.rb
236
+ - test/base_test.rb
237
+ - test/builder_test.rb
238
+ - test/coffee_test.rb
239
+ - test/compile_test.rb
240
+ - test/creole_test.rb
241
+ - test/delegator_test.rb
242
+ - test/encoding_test.rb
243
+ - test/erb_test.rb
244
+ - test/extensions_test.rb
245
+ - test/filter_test.rb
246
+ - test/haml_test.rb
247
+ - test/helpers_test.rb
248
+ - test/integration_test.rb
249
+ - test/less_test.rb
250
+ - test/liquid_test.rb
251
+ - test/mapped_error_test.rb
252
+ - test/markaby_test.rb
253
+ - test/markdown_test.rb
254
+ - test/mediawiki_test.rb
255
+ - test/middleware_test.rb
256
+ - test/nokogiri_test.rb
257
+ - test/rabl_test.rb
258
+ - test/rack_test.rb
259
+ - test/radius_test.rb
260
+ - test/rdoc_test.rb
261
+ - test/readme_test.rb
262
+ - test/request_test.rb
263
+ - test/response_test.rb
264
+ - test/result_test.rb
265
+ - test/route_added_hook_test.rb
266
+ - test/routing_test.rb
267
+ - test/sass_test.rb
268
+ - test/scss_test.rb
269
+ - test/server_test.rb
270
+ - test/settings_test.rb
271
+ - test/sinatra_test.rb
272
+ - test/slim_test.rb
273
+ - test/static_test.rb
274
+ - test/streaming_test.rb
275
+ - test/stylus_test.rb
276
+ - test/templates_test.rb
277
+ - test/textile_test.rb
278
+ - test/wlang_test.rb
279
+ - test/yajl_test.rb
280
+ has_rdoc: