torquebox-console 0.2.5 → 0.3.0

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.
Files changed (1091) hide show
  1. data/console.rb +7 -0
  2. data/dependencies.rb +7 -7
  3. data/lib/torquebox/console/client.rb +5 -1
  4. data/lib/torquebox/console/version.rb +1 -1
  5. data/public/console.js +22 -12
  6. data/stomplets/torque_box_console.rb +19 -6
  7. data/views/index.haml +8 -3
  8. metadata +1424 -2690
  9. data/vendor/bundle/ruby/1.8/bin/catstomp +0 -23
  10. data/vendor/bundle/ruby/1.8/bin/haml +0 -23
  11. data/vendor/bundle/ruby/1.8/bin/html2haml +0 -23
  12. data/vendor/bundle/ruby/1.8/bin/rackup +0 -23
  13. data/vendor/bundle/ruby/1.8/bin/rake +0 -23
  14. data/vendor/bundle/ruby/1.8/bin/rake2thor +0 -23
  15. data/vendor/bundle/ruby/1.8/bin/stompcat +0 -23
  16. data/vendor/bundle/ruby/1.8/bin/thor +0 -23
  17. data/vendor/bundle/ruby/1.8/bin/tilt +0 -23
  18. data/vendor/bundle/ruby/1.8/cache/haml-3.1.8.gem +0 -0
  19. data/vendor/bundle/ruby/1.8/cache/rack-1.5.2.gem +0 -0
  20. data/vendor/bundle/ruby/1.8/cache/rack-protection-1.4.0.gem +0 -0
  21. data/vendor/bundle/ruby/1.8/cache/rake-10.0.3.gem +0 -0
  22. data/vendor/bundle/ruby/1.8/cache/sinatra-1.3.5.gem +0 -0
  23. data/vendor/bundle/ruby/1.8/cache/stomp-1.2.8.gem +0 -0
  24. data/vendor/bundle/ruby/1.8/cache/thor-0.17.0.gem +0 -0
  25. data/vendor/bundle/ruby/1.8/cache/tilt-1.3.4.gem +0 -0
  26. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/CONTRIBUTING +0 -3
  27. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/MIT-LICENSE +0 -20
  28. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/README.md +0 -133
  29. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/REVISION +0 -1
  30. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/Rakefile +0 -419
  31. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/VERSION +0 -1
  32. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/VERSION_NAME +0 -1
  33. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/bin/haml +0 -9
  34. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/bin/html2haml +0 -7
  35. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/extra/update_watch.rb +0 -13
  36. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/init.rb +0 -18
  37. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml.rb +0 -47
  38. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/buffer.rb +0 -301
  39. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/compiler.rb +0 -453
  40. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/engine.rb +0 -312
  41. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/error.rb +0 -22
  42. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/exec.rb +0 -362
  43. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/filters.rb +0 -385
  44. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/helpers.rb +0 -608
  45. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/helpers/action_view_extensions.rb +0 -57
  46. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/helpers/action_view_mods.rb +0 -260
  47. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/helpers/rails_323_textarea_fix.rb +0 -41
  48. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/helpers/xss_mods.rb +0 -165
  49. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/html.rb +0 -412
  50. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/html/erb.rb +0 -141
  51. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/parser.rb +0 -711
  52. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/railtie.rb +0 -19
  53. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/root.rb +0 -7
  54. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/shared.rb +0 -78
  55. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/template.rb +0 -99
  56. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/template/options.rb +0 -16
  57. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/template/patch.rb +0 -58
  58. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/template/plugin.rb +0 -123
  59. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/util.rb +0 -842
  60. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/version.rb +0 -109
  61. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/sass.rb +0 -8
  62. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/sass/plugin.rb +0 -10
  63. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/sass/rails2_shim.rb +0 -9
  64. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/sass/rails3_shim.rb +0 -16
  65. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/rails/init.rb +0 -1
  66. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/benchmark.rb +0 -91
  67. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-2.0.x +0 -8
  68. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-2.0.x.lock +0 -38
  69. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-2.1.x +0 -8
  70. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-2.1.x.lock +0 -38
  71. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-2.2.x +0 -8
  72. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-2.2.x.lock +0 -38
  73. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-2.3.x +0 -8
  74. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-2.3.x.lock +0 -40
  75. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-3.0.x +0 -8
  76. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-3.0.x.lock +0 -85
  77. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-3.1.x +0 -8
  78. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-3.1.x.lock +0 -97
  79. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-3.2.x +0 -8
  80. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-3.2.x.lock +0 -95
  81. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-xss-2.3.x +0 -9
  82. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-xss-2.3.x.lock +0 -42
  83. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/engine_test.rb +0 -1950
  84. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/erb/_av_partial_1.erb +0 -12
  85. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/erb/_av_partial_2.erb +0 -8
  86. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/erb/action_view.erb +0 -62
  87. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/erb/standard.erb +0 -55
  88. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/helper_test.rb +0 -467
  89. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/html2haml/erb_tests.rb +0 -440
  90. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/html2haml_test.rb +0 -336
  91. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/markaby/standard.mab +0 -52
  92. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/mocks/article.rb +0 -6
  93. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/content_for_layout.xhtml +0 -12
  94. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/eval_suppressed.xhtml +0 -9
  95. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/filters.xhtml +0 -62
  96. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/helpers.xhtml +0 -70
  97. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/helpful.xhtml +0 -10
  98. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/just_stuff.xhtml +0 -70
  99. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/list.xhtml +0 -12
  100. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/nuke_inner_whitespace.xhtml +0 -40
  101. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/nuke_outer_whitespace.xhtml +0 -148
  102. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/original_engine.xhtml +0 -20
  103. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/partial_layout.xhtml +0 -5
  104. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/partials.xhtml +0 -21
  105. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/render_layout.xhtml +0 -3
  106. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/silent_script.xhtml +0 -74
  107. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/standard.xhtml +0 -162
  108. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/tag_parsing.xhtml +0 -23
  109. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/very_basic.xhtml +0 -5
  110. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/whitespace_handling.xhtml +0 -85
  111. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/spec/README.md +0 -97
  112. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/spec/lua_haml_spec.lua +0 -30
  113. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/spec/ruby_haml_test.rb +0 -19
  114. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/spec/tests.json +0 -534
  115. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/spec_test.rb +0 -44
  116. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/template_test.rb +0 -443
  117. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/_av_partial_1.haml +0 -9
  118. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/_av_partial_1_ugly.haml +0 -9
  119. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/_av_partial_2.haml +0 -5
  120. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/_av_partial_2_ugly.haml +0 -5
  121. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/_layout.erb +0 -3
  122. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/_layout_for_partial.haml +0 -3
  123. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/_partial.haml +0 -8
  124. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/_text_area.haml +0 -3
  125. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/action_view.haml +0 -47
  126. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/action_view_ugly.haml +0 -47
  127. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/breakage.haml +0 -8
  128. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/content_for_layout.haml +0 -8
  129. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/eval_suppressed.haml +0 -11
  130. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/filters.haml +0 -66
  131. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/helpers.haml +0 -55
  132. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/helpful.haml +0 -11
  133. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/just_stuff.haml +0 -85
  134. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/list.haml +0 -12
  135. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/nuke_inner_whitespace.haml +0 -32
  136. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/nuke_outer_whitespace.haml +0 -144
  137. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/original_engine.haml +0 -17
  138. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/partial_layout.haml +0 -10
  139. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/partialize.haml +0 -1
  140. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/partials.haml +0 -12
  141. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/render_layout.haml +0 -2
  142. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/silent_script.haml +0 -40
  143. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/standard.haml +0 -43
  144. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/standard_ugly.haml +0 -43
  145. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/tag_parsing.haml +0 -21
  146. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/very_basic.haml +0 -4
  147. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/whitespace_handling.haml +0 -87
  148. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/util_test.rb +0 -300
  149. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/linked_rails.rb +0 -42
  150. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/test_helper.rb +0 -75
  151. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/CONTRIBUTING +0 -3
  152. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/MIT-LICENSE +0 -20
  153. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/README.md +0 -201
  154. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/Rakefile +0 -339
  155. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/TODO +0 -39
  156. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/VERSION +0 -1
  157. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/VERSION_NAME +0 -1
  158. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/bin/sass +0 -8
  159. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/bin/sass-convert +0 -7
  160. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/bin/scss +0 -8
  161. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/doc-src/FAQ.md +0 -35
  162. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/doc-src/INDENTED_SYNTAX.md +0 -210
  163. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/doc-src/SASS_CHANGELOG.md +0 -2327
  164. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/doc-src/SASS_REFERENCE.md +0 -1965
  165. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/doc-src/SCSS_FOR_SASS_USERS.md +0 -155
  166. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/ext/extconf.rb +0 -10
  167. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/extra/update_watch.rb +0 -13
  168. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/init.rb +0 -18
  169. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass.rb +0 -73
  170. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/cache_stores.rb +0 -15
  171. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/cache_stores/base.rb +0 -86
  172. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/cache_stores/chain.rb +0 -33
  173. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/cache_stores/filesystem.rb +0 -60
  174. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/cache_stores/memory.rb +0 -47
  175. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/cache_stores/null.rb +0 -25
  176. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/callbacks.rb +0 -66
  177. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/css.rb +0 -295
  178. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/engine.rb +0 -878
  179. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/environment.rb +0 -166
  180. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/error.rb +0 -201
  181. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/exec.rb +0 -672
  182. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/importers.rb +0 -22
  183. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/importers/base.rb +0 -139
  184. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/importers/filesystem.rb +0 -149
  185. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/less.rb +0 -382
  186. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/logger.rb +0 -15
  187. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/logger/base.rb +0 -32
  188. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/logger/log_level.rb +0 -49
  189. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/plugin.rb +0 -132
  190. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/plugin/compiler.rb +0 -383
  191. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/plugin/configuration.rb +0 -123
  192. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/plugin/generic.rb +0 -15
  193. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/plugin/merb.rb +0 -48
  194. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/plugin/rack.rb +0 -60
  195. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/plugin/rails.rb +0 -47
  196. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/plugin/staleness_checker.rb +0 -173
  197. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/railtie.rb +0 -9
  198. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/repl.rb +0 -58
  199. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/root.rb +0 -7
  200. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script.rb +0 -40
  201. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/bool.rb +0 -18
  202. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/color.rb +0 -480
  203. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/css_lexer.rb +0 -29
  204. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/css_parser.rb +0 -31
  205. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/funcall.rb +0 -175
  206. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/functions.rb +0 -1386
  207. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/interpolation.rb +0 -79
  208. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/lexer.rb +0 -339
  209. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/list.rb +0 -83
  210. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/literal.rb +0 -250
  211. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/node.rb +0 -99
  212. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/number.rb +0 -452
  213. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/operation.rb +0 -99
  214. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/parser.rb +0 -474
  215. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/string.rb +0 -51
  216. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/string_interpolation.rb +0 -103
  217. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/unary_operation.rb +0 -64
  218. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/variable.rb +0 -59
  219. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/scss.rb +0 -17
  220. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/scss/css_parser.rb +0 -46
  221. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/scss/parser.rb +0 -960
  222. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/scss/rx.rb +0 -128
  223. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/scss/sass_parser.rb +0 -11
  224. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/scss/script_lexer.rb +0 -15
  225. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/scss/script_parser.rb +0 -25
  226. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/scss/static_parser.rb +0 -40
  227. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/selector.rb +0 -361
  228. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/selector/abstract_sequence.rb +0 -62
  229. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/selector/comma_sequence.rb +0 -81
  230. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/selector/sequence.rb +0 -233
  231. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/selector/simple.rb +0 -113
  232. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/selector/simple_sequence.rb +0 -134
  233. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/shared.rb +0 -78
  234. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/charset_node.rb +0 -22
  235. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/comment_node.rb +0 -90
  236. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/debug_node.rb +0 -18
  237. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/directive_node.rb +0 -23
  238. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/each_node.rb +0 -24
  239. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/extend_node.rb +0 -29
  240. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/for_node.rb +0 -36
  241. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/function_node.rb +0 -27
  242. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/if_node.rb +0 -52
  243. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/import_node.rb +0 -68
  244. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/media_node.rb +0 -32
  245. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/mixin_def_node.rb +0 -27
  246. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/mixin_node.rb +0 -32
  247. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/node.rb +0 -201
  248. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/prop_node.rb +0 -148
  249. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/return_node.rb +0 -18
  250. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/root_node.rb +0 -28
  251. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/rule_node.rb +0 -136
  252. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/variable_node.rb +0 -30
  253. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/visitors/base.rb +0 -75
  254. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/visitors/check_nesting.rb +0 -133
  255. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/visitors/convert.rb +0 -260
  256. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/visitors/cssize.rb +0 -175
  257. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/visitors/deep_copy.rb +0 -87
  258. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/visitors/perform.rb +0 -332
  259. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/visitors/set_options.rb +0 -97
  260. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/visitors/to_css.rb +0 -210
  261. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/warn_node.rb +0 -18
  262. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/while_node.rb +0 -18
  263. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/util.rb +0 -721
  264. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/util/subset_map.rb +0 -101
  265. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/version.rb +0 -112
  266. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/rails/init.rb +0 -1
  267. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/sass.gemspec +0 -33
  268. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/Gemfile +0 -4
  269. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/Gemfile.lock +0 -19
  270. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/cache_test.rb +0 -89
  271. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/callbacks_test.rb +0 -61
  272. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/conversion_test.rb +0 -1199
  273. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/css2sass_test.rb +0 -373
  274. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/data/hsl-rgb.txt +0 -319
  275. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/engine_test.rb +0 -2567
  276. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/extend_test.rb +0 -1348
  277. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.css +0 -1
  278. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.scss +0 -1
  279. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/functions_test.rb +0 -1038
  280. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/importer_test.rb +0 -192
  281. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/less_conversion_test.rb +0 -653
  282. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/logger_test.rb +0 -58
  283. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/mock_importer.rb +0 -49
  284. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/more_results/more1.css +0 -9
  285. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/more_results/more1_with_line_comments.css +0 -26
  286. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/more_results/more_import.css +0 -29
  287. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/more_templates/_more_partial.sass +0 -2
  288. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/more_templates/more1.sass +0 -23
  289. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/more_templates/more_import.sass +0 -11
  290. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/plugin_test.rb +0 -472
  291. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/alt.css +0 -4
  292. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/basic.css +0 -9
  293. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/compact.css +0 -5
  294. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/complex.css +0 -86
  295. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/compressed.css +0 -1
  296. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/expanded.css +0 -19
  297. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/if.css +0 -3
  298. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/import.css +0 -31
  299. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/import_charset.css +0 -4
  300. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/import_charset_1_8.css +0 -4
  301. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/import_charset_ibm866.css +0 -4
  302. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/line_numbers.css +0 -49
  303. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/mixins.css +0 -95
  304. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/multiline.css +0 -24
  305. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/nested.css +0 -22
  306. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/options.css +0 -1
  307. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/parent_ref.css +0 -13
  308. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/script.css +0 -16
  309. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/scss_import.css +0 -31
  310. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/scss_importee.css +0 -2
  311. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
  312. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/subdir/subdir.css +0 -3
  313. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/units.css +0 -11
  314. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/warn.css +0 -0
  315. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/warn_imported.css +0 -0
  316. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/script_conversion_test.rb +0 -285
  317. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/script_test.rb +0 -514
  318. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/scss/css_test.rb +0 -922
  319. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/scss/rx_test.rb +0 -156
  320. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/scss/scss_test.rb +0 -1273
  321. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/scss/test_helper.rb +0 -37
  322. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/_imported_charset_ibm866.sass +0 -4
  323. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/_imported_charset_utf8.sass +0 -4
  324. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/_partial.sass +0 -2
  325. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/alt.sass +0 -16
  326. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/basic.sass +0 -23
  327. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/bork1.sass +0 -2
  328. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/bork2.sass +0 -2
  329. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/bork3.sass +0 -2
  330. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/bork4.sass +0 -2
  331. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/bork5.sass +0 -3
  332. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/compact.sass +0 -17
  333. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/complex.sass +0 -305
  334. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/compressed.sass +0 -15
  335. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/expanded.sass +0 -17
  336. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/if.sass +0 -11
  337. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/import.sass +0 -12
  338. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/import_charset.sass +0 -7
  339. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/import_charset_1_8.sass +0 -4
  340. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/import_charset_ibm866.sass +0 -9
  341. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/importee.less +0 -2
  342. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/importee.sass +0 -19
  343. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/line_numbers.sass +0 -13
  344. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/mixin_bork.sass +0 -5
  345. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/mixins.sass +0 -76
  346. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/multiline.sass +0 -20
  347. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/nested.sass +0 -25
  348. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/nested_bork1.sass +0 -2
  349. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/nested_bork2.sass +0 -2
  350. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/nested_bork3.sass +0 -2
  351. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/nested_bork4.sass +0 -2
  352. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/nested_bork5.sass +0 -2
  353. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/nested_import.sass +0 -2
  354. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/nested_mixin_bork.sass +0 -6
  355. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/options.sass +0 -2
  356. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/parent_ref.sass +0 -25
  357. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/script.sass +0 -101
  358. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/scss_import.scss +0 -11
  359. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/scss_importee.scss +0 -1
  360. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
  361. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
  362. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/subdir/subdir.sass +0 -6
  363. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/units.sass +0 -11
  364. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/warn.sass +0 -3
  365. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/warn_imported.sass +0 -4
  366. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/test_helper.rb +0 -8
  367. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/util/subset_map_test.rb +0 -91
  368. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/util_test.rb +0 -266
  369. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/test_helper.rb +0 -69
  370. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/Gemfile +0 -3
  371. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/LICENSE +0 -20
  372. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/README.markdown +0 -83
  373. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/Rakefile +0 -11
  374. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/example.rb +0 -12
  375. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/fssm.gemspec +0 -24
  376. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm.rb +0 -37
  377. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/backends/fsevents.rb +0 -36
  378. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/backends/inotify.rb +0 -26
  379. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/backends/polling.rb +0 -25
  380. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/backends/rbfsevent.rb +0 -42
  381. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/backends/rubycocoa/fsevents.rb +0 -131
  382. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/monitor.rb +0 -36
  383. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/path.rb +0 -94
  384. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/pathname.rb +0 -36
  385. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/state/directory.rb +0 -75
  386. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/state/file.rb +0 -24
  387. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/support.rb +0 -92
  388. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/tree.rb +0 -176
  389. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/version.rb +0 -3
  390. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/profile/prof-cache.rb +0 -40
  391. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/profile/prof-fssm-pathname.html +0 -1231
  392. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/profile/prof-pathname-rubinius.rb +0 -35
  393. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/profile/prof-pathname.rb +0 -68
  394. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/profile/prof-plain-pathname.html +0 -988
  395. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/profile/prof.html +0 -2379
  396. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/count_down_latch.rb +0 -151
  397. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/monitor_spec.rb +0 -202
  398. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/path_spec.rb +0 -96
  399. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/root/duck/quack.txt +0 -0
  400. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/root/file.css +0 -0
  401. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/root/file.rb +0 -0
  402. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/root/file.yml +0 -0
  403. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/root/moo/cow.txt +0 -0
  404. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/spec_helper.rb +0 -14
  405. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/yard/callbacks.rb +0 -29
  406. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/yard/default/fulldoc/html/css/common.sass +0 -26
  407. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/yard/default/layout/html/footer.erb +0 -12
  408. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/yard/inherited_hash.rb +0 -41
  409. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/COPYING +0 -18
  410. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/KNOWN-ISSUES +0 -30
  411. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/README.rdoc +0 -624
  412. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/Rakefile +0 -125
  413. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/SPEC +0 -237
  414. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/bin/rackup +0 -4
  415. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/contrib/rack.png +0 -0
  416. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/contrib/rack.svg +0 -150
  417. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/contrib/rack_logo.svg +0 -111
  418. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/contrib/rdoc.css +0 -412
  419. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/example/lobster.ru +0 -4
  420. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/example/protectedlobster.rb +0 -14
  421. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/example/protectedlobster.ru +0 -8
  422. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack.rb +0 -87
  423. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/auth/abstract/handler.rb +0 -37
  424. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/auth/abstract/request.rb +0 -43
  425. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/auth/basic.rb +0 -58
  426. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/auth/digest/md5.rb +0 -129
  427. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/auth/digest/nonce.rb +0 -51
  428. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/auth/digest/params.rb +0 -53
  429. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/auth/digest/request.rb +0 -41
  430. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/backports/uri/common_18.rb +0 -56
  431. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/backports/uri/common_192.rb +0 -52
  432. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/backports/uri/common_193.rb +0 -29
  433. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/body_proxy.rb +0 -39
  434. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/builder.rb +0 -149
  435. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/cascade.rb +0 -52
  436. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/chunked.rb +0 -58
  437. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/commonlogger.rb +0 -64
  438. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/conditionalget.rb +0 -67
  439. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/config.rb +0 -20
  440. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/content_length.rb +0 -33
  441. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/content_type.rb +0 -29
  442. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/deflater.rb +0 -116
  443. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/directory.rb +0 -161
  444. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/etag.rb +0 -64
  445. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/file.rb +0 -138
  446. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler.rb +0 -107
  447. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/cgi.rb +0 -61
  448. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/evented_mongrel.rb +0 -8
  449. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/fastcgi.rb +0 -98
  450. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/lsws.rb +0 -61
  451. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/mongrel.rb +0 -100
  452. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/scgi.rb +0 -67
  453. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/swiftiplied_mongrel.rb +0 -8
  454. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/thin.rb +0 -27
  455. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/webrick.rb +0 -81
  456. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/head.rb +0 -22
  457. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/lint.rb +0 -699
  458. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/lobster.rb +0 -65
  459. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/lock.rb +0 -26
  460. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/logger.rb +0 -18
  461. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/methodoverride.rb +0 -31
  462. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/mime.rb +0 -677
  463. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/mock.rb +0 -190
  464. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/multipart.rb +0 -34
  465. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/multipart/generator.rb +0 -93
  466. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/multipart/parser.rb +0 -176
  467. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/multipart/uploaded_file.rb +0 -34
  468. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/nulllogger.rb +0 -18
  469. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/recursive.rb +0 -61
  470. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/reloader.rb +0 -109
  471. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/request.rb +0 -380
  472. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/response.rb +0 -155
  473. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/rewindable_input.rb +0 -104
  474. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/runtime.rb +0 -27
  475. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/sendfile.rb +0 -155
  476. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/server.rb +0 -362
  477. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/session/abstract/id.rb +0 -398
  478. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/session/cookie.rb +0 -178
  479. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/session/memcache.rb +0 -93
  480. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/session/pool.rb +0 -79
  481. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/showexceptions.rb +0 -378
  482. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/showstatus.rb +0 -113
  483. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/static.rb +0 -153
  484. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/urlmap.rb +0 -76
  485. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/utils.rb +0 -628
  486. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/utils/okjson.rb +0 -599
  487. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/rack.gemspec +0 -33
  488. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/builder/anything.rb +0 -5
  489. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/builder/comment.ru +0 -4
  490. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/builder/end.ru +0 -5
  491. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/builder/line.ru +0 -1
  492. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/builder/options.ru +0 -2
  493. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/assets/folder/test.js +0 -1
  494. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/assets/fonts/font.eot +0 -1
  495. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/assets/images/image.png +0 -1
  496. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/assets/index.html +0 -1
  497. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/assets/javascripts/app.js +0 -1
  498. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/assets/stylesheets/app.css +0 -1
  499. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/lighttpd.conf +0 -26
  500. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/rackup_stub.rb +0 -6
  501. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/sample_rackup.ru +0 -5
  502. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/test +0 -9
  503. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/test+directory/test+file +0 -1
  504. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/test.fcgi +0 -8
  505. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/test.ru +0 -5
  506. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/gemloader.rb +0 -10
  507. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/bad_robots +0 -259
  508. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/binary +0 -0
  509. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/content_type_and_no_filename +0 -6
  510. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/empty +0 -10
  511. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/fail_16384_nofile +0 -814
  512. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/file1.txt +0 -1
  513. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/filename_and_modification_param +0 -7
  514. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/filename_with_escaped_quotes +0 -6
  515. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/filename_with_escaped_quotes_and_modification_param +0 -7
  516. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/filename_with_percent_escaped_quotes +0 -6
  517. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/filename_with_unescaped_percentages +0 -6
  518. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/filename_with_unescaped_percentages2 +0 -6
  519. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/filename_with_unescaped_percentages3 +0 -6
  520. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/filename_with_unescaped_quotes +0 -6
  521. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/ie +0 -6
  522. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/mixed_files +0 -21
  523. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/nested +0 -10
  524. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/none +0 -9
  525. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/semicolon +0 -6
  526. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/text +0 -15
  527. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/webkit +0 -32
  528. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/rackup/config.ru +0 -31
  529. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/registering_handler/rack/handler/registering_myself.rb +0 -8
  530. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_auth_basic.rb +0 -81
  531. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_auth_digest.rb +0 -259
  532. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_body_proxy.rb +0 -69
  533. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_builder.rb +0 -214
  534. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_cascade.rb +0 -61
  535. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_cgi.rb +0 -102
  536. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_chunked.rb +0 -85
  537. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_commonlogger.rb +0 -57
  538. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_conditionalget.rb +0 -102
  539. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_config.rb +0 -22
  540. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_content_length.rb +0 -83
  541. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_content_type.rb +0 -45
  542. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_deflater.rb +0 -204
  543. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_directory.rb +0 -88
  544. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_etag.rb +0 -98
  545. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_fastcgi.rb +0 -107
  546. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_file.rb +0 -213
  547. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_handler.rb +0 -59
  548. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_head.rb +0 -43
  549. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_lint.rb +0 -522
  550. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_lobster.rb +0 -58
  551. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_lock.rb +0 -164
  552. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_logger.rb +0 -23
  553. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_methodoverride.rb +0 -75
  554. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_mime.rb +0 -51
  555. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_mock.rb +0 -269
  556. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_mongrel.rb +0 -182
  557. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_multipart.rb +0 -445
  558. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_nulllogger.rb +0 -20
  559. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_recursive.rb +0 -72
  560. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_request.rb +0 -1078
  561. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_response.rb +0 -313
  562. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_rewindable_input.rb +0 -118
  563. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_runtime.rb +0 -49
  564. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_sendfile.rb +0 -130
  565. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_server.rb +0 -143
  566. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_session_abstract_id.rb +0 -53
  567. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_session_cookie.rb +0 -367
  568. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_session_memcache.rb +0 -321
  569. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_session_pool.rb +0 -209
  570. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_showexceptions.rb +0 -92
  571. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_showstatus.rb +0 -84
  572. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_static.rb +0 -145
  573. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_thin.rb +0 -91
  574. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_urlmap.rb +0 -213
  575. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_utils.rb +0 -573
  576. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_webrick.rb +0 -143
  577. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/static/another/index.html +0 -1
  578. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/static/index.html +0 -1
  579. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/testrequest.rb +0 -78
  580. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/unregistered_handler/rack/handler/unregistered.rb +0 -7
  581. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/unregistered_handler/rack/handler/unregistered_long_one.rb +0 -7
  582. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/License +0 -20
  583. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/README.md +0 -82
  584. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/Rakefile +0 -48
  585. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack-protection.rb +0 -1
  586. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection.rb +0 -40
  587. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/authenticity_token.rb +0 -24
  588. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/base.rb +0 -107
  589. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/escaped_params.rb +0 -87
  590. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/form_token.rb +0 -23
  591. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb +0 -37
  592. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/http_origin.rb +0 -32
  593. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/ip_spoofing.rb +0 -23
  594. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb +0 -35
  595. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb +0 -36
  596. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/remote_referrer.rb +0 -20
  597. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/remote_token.rb +0 -22
  598. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/session_hijacking.rb +0 -36
  599. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/version.rb +0 -16
  600. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb +0 -25
  601. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/rack-protection.gemspec +0 -92
  602. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/authenticity_token_spec.rb +0 -33
  603. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/escaped_params_spec.rb +0 -44
  604. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/form_token_spec.rb +0 -33
  605. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/frame_options_spec.rb +0 -39
  606. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/http_origin_spec.rb +0 -38
  607. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/ip_spoofing_spec.rb +0 -35
  608. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/json_csrf_spec.rb +0 -44
  609. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/path_traversal_spec.rb +0 -28
  610. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/protection_spec.rb +0 -37
  611. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/remote_referrer_spec.rb +0 -31
  612. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/remote_token_spec.rb +0 -42
  613. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/session_hijacking_spec.rb +0 -54
  614. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/spec_helper.rb +0 -163
  615. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/xss_header_spec.rb +0 -56
  616. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/CHANGES +0 -526
  617. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/MIT-LICENSE +0 -21
  618. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/README.rdoc +0 -187
  619. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/Rakefile +0 -374
  620. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/TODO +0 -21
  621. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/bin/rake +0 -33
  622. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/command_line_usage.rdoc +0 -152
  623. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/example/Rakefile1 +0 -38
  624. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/example/Rakefile2 +0 -35
  625. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/example/a.c +0 -6
  626. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/example/b.c +0 -6
  627. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/example/main.c +0 -11
  628. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/glossary.rdoc +0 -51
  629. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/jamis.rb +0 -591
  630. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/proto_rake.rdoc +0 -127
  631. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/rake.1.gz +0 -0
  632. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/rakefile.rdoc +0 -557
  633. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/rational.rdoc +0 -151
  634. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.4.14.rdoc +0 -23
  635. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.4.15.rdoc +0 -35
  636. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.5.0.rdoc +0 -53
  637. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.5.3.rdoc +0 -78
  638. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.5.4.rdoc +0 -46
  639. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.6.0.rdoc +0 -141
  640. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.7.0.rdoc +0 -119
  641. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.7.1.rdoc +0 -59
  642. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.7.2.rdoc +0 -121
  643. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.7.3.rdoc +0 -47
  644. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.8.0.rdoc +0 -114
  645. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.8.2.rdoc +0 -165
  646. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.8.3.rdoc +0 -112
  647. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.8.4.rdoc +0 -147
  648. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.8.5.rdoc +0 -53
  649. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.8.6.rdoc +0 -55
  650. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.8.7.rdoc +0 -55
  651. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.9.0.rdoc +0 -112
  652. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.9.1.rdoc +0 -52
  653. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
  654. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.9.2.rdoc +0 -49
  655. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.9.3.rdoc +0 -102
  656. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.9.4.rdoc +0 -110
  657. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.9.5.rdoc +0 -114
  658. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.9.6.rdoc +0 -127
  659. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-10.0.0.rdoc +0 -178
  660. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-10.0.1.rdoc +0 -187
  661. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-10.0.2.rdoc +0 -191
  662. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-10.0.3.rdoc +0 -191
  663. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/install.rb +0 -90
  664. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake.rb +0 -71
  665. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/alt_system.rb +0 -109
  666. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/application.rb +0 -669
  667. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/backtrace.rb +0 -18
  668. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/clean.rb +0 -32
  669. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/cloneable.rb +0 -16
  670. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/contrib/compositepublisher.rb +0 -21
  671. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/contrib/ftptools.rb +0 -151
  672. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/contrib/publisher.rb +0 -73
  673. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/contrib/rubyforgepublisher.rb +0 -16
  674. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/contrib/sshpublisher.rb +0 -50
  675. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/contrib/sys.rb +0 -1
  676. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/default_loader.rb +0 -10
  677. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/dsl_definition.rb +0 -156
  678. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/early_time.rb +0 -18
  679. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/ext/core.rb +0 -27
  680. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/ext/module.rb +0 -0
  681. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/ext/string.rb +0 -168
  682. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/ext/time.rb +0 -15
  683. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/file_creation_task.rb +0 -24
  684. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/file_list.rb +0 -410
  685. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/file_task.rb +0 -47
  686. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/file_utils.rb +0 -114
  687. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/file_utils_ext.rb +0 -146
  688. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/gempackagetask.rb +0 -1
  689. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/invocation_chain.rb +0 -51
  690. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/invocation_exception_mixin.rb +0 -16
  691. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/loaders/makefile.rb +0 -40
  692. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/multi_task.rb +0 -13
  693. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/name_space.rb +0 -25
  694. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/packagetask.rb +0 -185
  695. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/pathmap.rb +0 -1
  696. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/phony.rb +0 -15
  697. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/private_reader.rb +0 -20
  698. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/promise.rb +0 -99
  699. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/pseudo_status.rb +0 -24
  700. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/rake_module.rb +0 -37
  701. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/rake_test_loader.rb +0 -22
  702. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/rdoctask.rb +0 -1
  703. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/ruby182_test_unit_fix.rb +0 -25
  704. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/rule_recursion_overflow_error.rb +0 -20
  705. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/runtest.rb +0 -22
  706. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/task.rb +0 -350
  707. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/task_argument_error.rb +0 -7
  708. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/task_arguments.rb +0 -78
  709. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/task_manager.rb +0 -296
  710. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/tasklib.rb +0 -22
  711. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/testtask.rb +0 -198
  712. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/thread_history_display.rb +0 -48
  713. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/thread_pool.rb +0 -155
  714. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/trace_output.rb +0 -19
  715. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/version.rb +0 -13
  716. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/win32.rb +0 -55
  717. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/file_creation.rb +0 -34
  718. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/helper.rb +0 -562
  719. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_private_reader.rb +0 -42
  720. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake.rb +0 -40
  721. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_application.rb +0 -515
  722. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_application_options.rb +0 -443
  723. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_backtrace.rb +0 -89
  724. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_clean.rb +0 -14
  725. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_definitions.rb +0 -80
  726. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_directory_task.rb +0 -57
  727. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_dsl.rb +0 -40
  728. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_early_time.rb +0 -31
  729. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_extension.rb +0 -59
  730. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_file_creation_task.rb +0 -56
  731. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_file_list.rb +0 -628
  732. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_file_list_path_map.rb +0 -8
  733. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_file_task.rb +0 -122
  734. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_file_utils.rb +0 -305
  735. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_ftp_file.rb +0 -59
  736. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_functional.rb +0 -496
  737. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_invocation_chain.rb +0 -52
  738. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_makefile_loader.rb +0 -44
  739. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_multi_task.rb +0 -59
  740. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_name_space.rb +0 -43
  741. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_package_task.rb +0 -79
  742. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_path_map.rb +0 -157
  743. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_path_map_explode.rb +0 -34
  744. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_path_map_partial.rb +0 -18
  745. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_pseudo_status.rb +0 -21
  746. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_rake_test_loader.rb +0 -21
  747. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_reduce_compat.rb +0 -30
  748. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_require.rb +0 -40
  749. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_rules.rb +0 -327
  750. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_task.rb +0 -316
  751. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_task_argument_parsing.rb +0 -103
  752. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_task_arguments.rb +0 -88
  753. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_task_lib.rb +0 -9
  754. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_task_manager.rb +0 -157
  755. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_task_manager_argument_resolution.rb +0 -19
  756. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_task_with_arguments.rb +0 -171
  757. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_test_task.rb +0 -120
  758. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_thread_pool.rb +0 -123
  759. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_top_level_functions.rb +0 -71
  760. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_win32.rb +0 -72
  761. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_thread_history_display.rb +0 -91
  762. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_trace_output.rb +0 -43
  763. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/AUTHORS +0 -61
  764. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/CHANGES +0 -1063
  765. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/Gemfile +0 -82
  766. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/LICENSE +0 -22
  767. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.de.rdoc +0 -2097
  768. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.es.rdoc +0 -2078
  769. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.fr.rdoc +0 -2036
  770. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.hu.rdoc +0 -607
  771. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.jp.rdoc +0 -1043
  772. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.ko.rdoc +0 -1926
  773. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.pt-br.rdoc +0 -647
  774. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.pt-pt.rdoc +0 -646
  775. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.rdoc +0 -2017
  776. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.ru.rdoc +0 -1785
  777. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.zh.rdoc +0 -1816
  778. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/Rakefile +0 -183
  779. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/examples/chat.rb +0 -61
  780. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/examples/simple.rb +0 -3
  781. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/examples/stream.ru +0 -26
  782. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/lib/sinatra.rb +0 -4
  783. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/lib/sinatra/base.rb +0 -1728
  784. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/lib/sinatra/images/404.png +0 -0
  785. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/lib/sinatra/images/500.png +0 -0
  786. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/lib/sinatra/main.rb +0 -28
  787. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb +0 -340
  788. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/lib/sinatra/version.rb +0 -3
  789. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/sinatra.gemspec +0 -18
  790. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/base_test.rb +0 -160
  791. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/builder_test.rb +0 -95
  792. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/coffee_test.rb +0 -92
  793. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/contest.rb +0 -98
  794. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/creole_test.rb +0 -65
  795. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/delegator_test.rb +0 -162
  796. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/encoding_test.rb +0 -20
  797. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/erb_test.rb +0 -104
  798. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/extensions_test.rb +0 -100
  799. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/filter_test.rb +0 -428
  800. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/haml_test.rb +0 -101
  801. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/helper.rb +0 -123
  802. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/helpers_test.rb +0 -1783
  803. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/integration/app.rb +0 -62
  804. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/integration_helper.rb +0 -214
  805. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/integration_test.rb +0 -85
  806. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/less_test.rb +0 -67
  807. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/liquid_test.rb +0 -59
  808. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/mapped_error_test.rb +0 -259
  809. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/markaby_test.rb +0 -80
  810. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/markdown_test.rb +0 -82
  811. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/middleware_test.rb +0 -68
  812. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/nokogiri_test.rb +0 -69
  813. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/public/favicon.ico +0 -0
  814. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/rack_test.rb +0 -45
  815. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/radius_test.rb +0 -59
  816. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/rdoc_test.rb +0 -66
  817. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/readme_test.rb +0 -136
  818. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/request_test.rb +0 -45
  819. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/response_test.rb +0 -66
  820. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/result_test.rb +0 -98
  821. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/route_added_hook_test.rb +0 -59
  822. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/routing_test.rb +0 -1126
  823. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/sass_test.rb +0 -116
  824. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/scss_test.rb +0 -89
  825. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/server_test.rb +0 -48
  826. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/settings_test.rb +0 -538
  827. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/sinatra_test.rb +0 -17
  828. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/slim_test.rb +0 -88
  829. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/static_test.rb +0 -178
  830. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/streaming_test.rb +0 -140
  831. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/templates_test.rb +0 -298
  832. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/textile_test.rb +0 -65
  833. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/a/in_a.str +0 -1
  834. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/ascii.erb +0 -2
  835. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/b/in_b.str +0 -1
  836. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/calc.html.erb +0 -1
  837. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/error.builder +0 -3
  838. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/error.erb +0 -3
  839. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/error.haml +0 -3
  840. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/error.sass +0 -2
  841. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/explicitly_nested.str +0 -1
  842. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/foo/hello.test +0 -1
  843. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.builder +0 -1
  844. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.coffee +0 -1
  845. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.creole +0 -1
  846. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.erb +0 -1
  847. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.haml +0 -1
  848. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.less +0 -5
  849. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.liquid +0 -1
  850. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.mab +0 -1
  851. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.md +0 -1
  852. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.nokogiri +0 -1
  853. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.radius +0 -1
  854. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.rdoc +0 -1
  855. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.sass +0 -2
  856. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.scss +0 -3
  857. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.slim +0 -1
  858. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.str +0 -1
  859. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.test +0 -1
  860. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.textile +0 -1
  861. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.builder +0 -3
  862. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.erb +0 -2
  863. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.haml +0 -2
  864. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.liquid +0 -2
  865. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.mab +0 -2
  866. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.nokogiri +0 -3
  867. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.radius +0 -2
  868. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.slim +0 -3
  869. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.str +0 -2
  870. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.test +0 -1
  871. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/nested.str +0 -1
  872. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/utf8.erb +0 -2
  873. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/CHANGELOG.rdoc +0 -196
  874. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/LICENSE +0 -202
  875. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/README.rdoc +0 -132
  876. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/Rakefile +0 -80
  877. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/bin/catstomp +0 -74
  878. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/bin/stompcat +0 -75
  879. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/client11_ex1.rb +0 -89
  880. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/client11_putget1.rb +0 -71
  881. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/conn11_ex1.rb +0 -112
  882. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/conn11_ex2.rb +0 -87
  883. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/conn11_hb1.rb +0 -57
  884. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/consumer.rb +0 -34
  885. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/get11conn_ex1.rb +0 -117
  886. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/get11conn_ex2.rb +0 -77
  887. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/logexamp.rb +0 -81
  888. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/logexamp_ssl.rb +0 -81
  889. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/publisher.rb +0 -30
  890. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/put11conn_ex1.rb +0 -56
  891. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/putget11_rh1.rb +0 -93
  892. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/slogger.rb +0 -222
  893. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_uc1.rb +0 -46
  894. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_uc1_ciphers.rb +0 -46
  895. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_uc2.rb +0 -48
  896. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_uc2_ciphers.rb +0 -47
  897. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_uc3.rb +0 -50
  898. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_uc3_ciphers.rb +0 -47
  899. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_uc4.rb +0 -50
  900. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_uc4_ciphers.rb +0 -48
  901. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_ucx_default_ciphers.rb +0 -41
  902. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/stomp11_common.rb +0 -48
  903. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/topic_consumer.rb +0 -32
  904. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/topic_publisher.rb +0 -29
  905. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/client/utils.rb +0 -116
  906. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/connection/heartbeats.rb +0 -175
  907. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/connection/netio.rb +0 -360
  908. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/connection/utf8.rb +0 -294
  909. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/connection/utils.rb +0 -239
  910. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp.rb +0 -39
  911. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/client.rb +0 -350
  912. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/codec.rb +0 -44
  913. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/connection.rb +0 -452
  914. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/constants.rb +0 -114
  915. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/errors.rb +0 -195
  916. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/ext/hash.rb +0 -31
  917. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/message.rb +0 -117
  918. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/sslparams.rb +0 -84
  919. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/version.rb +0 -12
  920. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/spec/client_shared_examples.rb +0 -71
  921. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/spec/client_spec.rb +0 -329
  922. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/spec/connection_spec.rb +0 -431
  923. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/spec/message_spec.rb +0 -58
  924. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/spec/spec_helper.rb +0 -8
  925. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/stomp.gemspec +0 -151
  926. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/test/test_client.rb +0 -531
  927. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/test/test_codec.rb +0 -119
  928. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/test/test_connection.rb +0 -517
  929. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/test/test_connection1p.rb +0 -396
  930. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/test/test_helper.rb +0 -168
  931. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/test/test_message.rb +0 -173
  932. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/test/test_ssl.rb +0 -81
  933. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/test/tlogger.rb +0 -80
  934. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/CHANGELOG.rdoc +0 -142
  935. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/Gemfile +0 -19
  936. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/LICENSE.md +0 -20
  937. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/README.md +0 -28
  938. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/Thorfile +0 -30
  939. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/bin/rake2thor +0 -86
  940. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/bin/thor +0 -6
  941. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor.rb +0 -448
  942. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/actions.rb +0 -318
  943. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/actions/create_file.rb +0 -105
  944. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/actions/create_link.rb +0 -57
  945. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/actions/directory.rb +0 -117
  946. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/actions/empty_directory.rb +0 -153
  947. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/actions/file_manipulation.rb +0 -314
  948. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/actions/inject_into_file.rb +0 -109
  949. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/base.rb +0 -654
  950. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/core_ext/file_binary_read.rb +0 -9
  951. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/core_ext/hash_with_indifferent_access.rb +0 -80
  952. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/core_ext/ordered_hash.rb +0 -100
  953. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/error.rb +0 -35
  954. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/group.rb +0 -285
  955. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/invocation.rb +0 -170
  956. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/parser.rb +0 -4
  957. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/parser/argument.rb +0 -74
  958. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/parser/arguments.rb +0 -171
  959. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/parser/option.rb +0 -121
  960. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/parser/options.rb +0 -216
  961. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/rake_compat.rb +0 -72
  962. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/runner.rb +0 -321
  963. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/shell.rb +0 -88
  964. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/shell/basic.rb +0 -389
  965. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/shell/color.rb +0 -144
  966. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/shell/html.rb +0 -123
  967. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/task.rb +0 -132
  968. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/util.rb +0 -266
  969. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/version.rb +0 -3
  970. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/actions/create_file_spec.rb +0 -170
  971. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/actions/create_link_spec.rb +0 -81
  972. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/actions/directory_spec.rb +0 -156
  973. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/actions/empty_directory_spec.rb +0 -130
  974. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/actions/file_manipulation_spec.rb +0 -382
  975. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/actions/inject_into_file_spec.rb +0 -135
  976. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/actions_spec.rb +0 -331
  977. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/base_spec.rb +0 -279
  978. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/core_ext/hash_with_indifferent_access_spec.rb +0 -48
  979. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/core_ext/ordered_hash_spec.rb +0 -115
  980. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/exit_condition_spec.rb +0 -19
  981. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/application.rb +0 -2
  982. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/app{1}/README +0 -3
  983. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/bundle/execute.rb +0 -6
  984. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/bundle/main.thor +0 -1
  985. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/doc/%file_name%.rb.tt +0 -1
  986. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/doc/COMMENTER +0 -11
  987. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/doc/README +0 -3
  988. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/doc/block_helper.rb +0 -3
  989. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/doc/config.rb +0 -1
  990. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/doc/config.yaml.tt +0 -1
  991. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/enum.thor +0 -10
  992. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/group.thor +0 -114
  993. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/invoke.thor +0 -112
  994. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/path with spaces b/data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/path with → spaces +0 -0
  995. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/preserve/script.sh +0 -3
  996. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/script.thor +0 -195
  997. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/task.thor +0 -10
  998. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/group_spec.rb +0 -216
  999. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/invocation_spec.rb +0 -100
  1000. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/parser/argument_spec.rb +0 -53
  1001. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/parser/arguments_spec.rb +0 -66
  1002. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/parser/option_spec.rb +0 -202
  1003. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/parser/options_spec.rb +0 -395
  1004. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/rake_compat_spec.rb +0 -72
  1005. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/register_spec.rb +0 -197
  1006. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/runner_spec.rb +0 -241
  1007. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/shell/basic_spec.rb +0 -312
  1008. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/shell/color_spec.rb +0 -81
  1009. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/shell/html_spec.rb +0 -32
  1010. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/shell_spec.rb +0 -47
  1011. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/spec_helper.rb +0 -63
  1012. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/task_spec.rb +0 -80
  1013. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/thor_spec.rb +0 -488
  1014. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/util_spec.rb +0 -196
  1015. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/thor.gemspec +0 -20
  1016. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/COPYING +0 -18
  1017. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/Gemfile +0 -32
  1018. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/HACKING +0 -16
  1019. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/README.md +0 -211
  1020. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/Rakefile +0 -104
  1021. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/TEMPLATES.md +0 -516
  1022. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/bin/tilt +0 -112
  1023. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt.rb +0 -204
  1024. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/asciidoc.rb +0 -34
  1025. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/builder.rb +0 -40
  1026. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/coffee.rb +0 -54
  1027. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/css.rb +0 -80
  1028. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/csv.rb +0 -71
  1029. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/erb.rb +0 -110
  1030. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/etanni.rb +0 -27
  1031. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/haml.rb +0 -64
  1032. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/liquid.rb +0 -45
  1033. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/markaby.rb +0 -52
  1034. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/markdown.rb +0 -214
  1035. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/nokogiri.rb +0 -43
  1036. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/plain.rb +0 -20
  1037. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/radius.rb +0 -55
  1038. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/rdoc.rb +0 -47
  1039. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/string.rb +0 -21
  1040. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/template.rb +0 -246
  1041. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/textile.rb +0 -30
  1042. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/wiki.rb +0 -58
  1043. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/yajl.rb +0 -94
  1044. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/contest.rb +0 -68
  1045. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/markaby/locals.mab +0 -1
  1046. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/markaby/markaby.mab +0 -1
  1047. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/markaby/markaby_other_static.mab +0 -1
  1048. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/markaby/render_twice.mab +0 -1
  1049. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/markaby/scope.mab +0 -1
  1050. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/markaby/yielding.mab +0 -2
  1051. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_asciidoctor_test.rb +0 -44
  1052. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_blueclothtemplate_test.rb +0 -45
  1053. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_buildertemplate_test.rb +0 -59
  1054. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_cache_test.rb +0 -32
  1055. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_coffeescripttemplate_test.rb +0 -114
  1056. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_compilesite_test.rb +0 -51
  1057. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_creoletemplate_test.rb +0 -28
  1058. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_csv_test.rb +0 -73
  1059. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_erbtemplate_test.rb +0 -239
  1060. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_erubistemplate_test.rb +0 -151
  1061. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_etannitemplate_test.rb +0 -173
  1062. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_fallback_test.rb +0 -122
  1063. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_hamltemplate_test.rb +0 -144
  1064. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_kramdown_test.rb +0 -42
  1065. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_lesstemplate_test.less +0 -1
  1066. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_lesstemplate_test.rb +0 -42
  1067. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_liquidtemplate_test.rb +0 -78
  1068. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_markaby_test.rb +0 -88
  1069. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_markdown_test.rb +0 -172
  1070. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_marukutemplate_test.rb +0 -48
  1071. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_nokogiritemplate_test.rb +0 -87
  1072. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_radiustemplate_test.rb +0 -75
  1073. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_rdiscounttemplate_test.rb +0 -55
  1074. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_rdoctemplate_test.rb +0 -31
  1075. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_redcarpettemplate_test.rb +0 -71
  1076. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_redclothtemplate_test.rb +0 -36
  1077. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_sasstemplate_test.rb +0 -41
  1078. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_stringtemplate_test.rb +0 -170
  1079. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_template_test.rb +0 -167
  1080. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_test.rb +0 -65
  1081. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_wikiclothtemplate_test.rb +0 -32
  1082. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_yajltemplate_test.rb +0 -101
  1083. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/tilt.gemspec +0 -119
  1084. data/vendor/bundle/ruby/1.8/specifications/haml-3.1.8.gemspec +0 -34
  1085. data/vendor/bundle/ruby/1.8/specifications/rack-1.5.2.gemspec +0 -36
  1086. data/vendor/bundle/ruby/1.8/specifications/rack-protection-1.4.0.gemspec +0 -34
  1087. data/vendor/bundle/ruby/1.8/specifications/rake-10.0.3.gemspec +0 -34
  1088. data/vendor/bundle/ruby/1.8/specifications/sinatra-1.3.5.gemspec +0 -37
  1089. data/vendor/bundle/ruby/1.8/specifications/stomp-1.2.8.gemspec +0 -31
  1090. data/vendor/bundle/ruby/1.8/specifications/thor-0.17.0.gemspec +0 -30
  1091. data/vendor/bundle/ruby/1.8/specifications/tilt-1.3.4.gemspec +0 -98
@@ -1,183 +0,0 @@
1
- # encoding: UTF-8
2
- require 'rake/clean'
3
- require 'rake/testtask'
4
- require 'fileutils'
5
- require 'date'
6
-
7
- # CI Reporter is only needed for the CI
8
- begin
9
- require 'ci/reporter/rake/test_unit'
10
- rescue LoadError
11
- end
12
-
13
- task :default => :test
14
- task :spec => :test
15
-
16
- CLEAN.include "**/*.rbc"
17
-
18
- def source_version
19
- @source_version ||= begin
20
- load './lib/sinatra/version.rb'
21
- Sinatra::VERSION
22
- end
23
- end
24
-
25
- def prev_feature
26
- source_version.gsub(/^(\d\.)(\d+)\..*$/) { $1 + ($2.to_i - 1).to_s }
27
- end
28
-
29
- def prev_version
30
- return prev_feature + '.0' if source_version.end_with? '.0'
31
- source_version.gsub(/\d+$/) { |s| s.to_i - 1 }
32
- end
33
-
34
- # SPECS ===============================================================
35
-
36
- task :test do
37
- ENV['LANG'] = 'C'
38
- ENV.delete 'LC_CTYPE'
39
- end
40
-
41
- Rake::TestTask.new(:test) do |t|
42
- t.test_files = FileList['test/*_test.rb']
43
- t.ruby_opts = ['-rubygems'] if defined? Gem
44
- t.ruby_opts << '-I.'
45
- end
46
-
47
- Rake::TestTask.new(:"test:core") do |t|
48
- core_tests = %w[base delegator encoding extensions filter
49
- helpers mapped_error middleware radius rdoc
50
- readme request response result route_added_hook
51
- routing server settings sinatra static templates]
52
- t.test_files = core_tests.map {|n| "test/#{n}_test.rb"}
53
- t.ruby_opts = ["-rubygems"] if defined? Gem
54
- t.ruby_opts << "-I."
55
- end
56
-
57
- # Rcov ================================================================
58
-
59
- namespace :test do
60
- desc 'Measures test coverage'
61
- task :coverage do
62
- rm_f "coverage"
63
- sh "rcov -Ilib test/*_test.rb"
64
- end
65
- end
66
-
67
- # Website =============================================================
68
-
69
- desc 'Generate RDoc under doc/api'
70
- task 'doc' => ['doc:api']
71
- task('doc:api') { sh "yardoc -o doc/api" }
72
- CLEAN.include 'doc/api'
73
-
74
- # README ===============================================================
75
-
76
- task :add_template, [:name] do |t, args|
77
- Dir.glob('README.*') do |file|
78
- code = File.read(file)
79
- if code =~ /^===.*#{args.name.capitalize}/
80
- puts "Already covered in #{file}"
81
- else
82
- template = code[/===[^\n]*Liquid.*index\.liquid<\/tt>[^\n]*/m]
83
- if !template
84
- puts "Liquid not found in #{file}"
85
- else
86
- puts "Adding section to #{file}"
87
- template = template.gsub(/Liquid/, args.name.capitalize).gsub(/liquid/, args.name.downcase)
88
- code.gsub! /^(\s*===.*CoffeeScript)/, "\n" << template << "\n\\1"
89
- File.open(file, "w") { |f| f << code }
90
- end
91
- end
92
- end
93
- end
94
-
95
- # Thanks in announcement ===============================================
96
-
97
- team = ["Ryan Tomayko", "Blake Mizerany", "Simon Rozet", "Konstantin Haase"]
98
- desc "list of contributors"
99
- task :thanks, [:release,:backports] do |t, a|
100
- a.with_defaults :release => "#{prev_version}..HEAD",
101
- :backports => "#{prev_feature}.0..#{prev_feature}.x"
102
- included = `git log --format=format:"%aN\t%s" #{a.release}`.lines.to_a
103
- excluded = `git log --format=format:"%aN\t%s" #{a.backports}`.lines.to_a
104
- commits = (included - excluded).group_by { |c| c[/^[^\t]+/] }
105
- authors = commits.keys.sort_by { |n| - commits[n].size } - team
106
- puts authors[0..-2].join(', ') << " and " << authors.last,
107
- "(based on commits included in #{a.release}, but not in #{a.backports})"
108
- end
109
-
110
- desc "list of authors"
111
- task :authors, [:commit_range, :format, :sep] do |t, a|
112
- a.with_defaults :format => "%s (%d)", :sep => ", ", :commit_range => '--all'
113
- authors = Hash.new { |h,k| h[k] = 0 }
114
- blake = "Blake Mizerany"
115
- overall = 0
116
- mapping = {
117
- "blake.mizerany@gmail.com" => blake, "bmizerany" => blake,
118
- "a_user@mac.com" => blake, "ichverstehe" => "Harry Vangberg",
119
- "Wu Jiang (nouse)" => "Wu Jiang" }
120
- `git shortlog -s #{a.commit_range}`.lines.map do |line|
121
- line = line.force_encoding 'binary' if line.respond_to? :force_encoding
122
- num, name = line.split("\t", 2).map(&:strip)
123
- authors[mapping[name] || name] += num.to_i
124
- overall += num.to_i
125
- end
126
- puts "#{overall} commits by #{authors.count} authors:"
127
- puts authors.sort_by { |n,c| -c }.map { |e| a.format % e }.join(a.sep)
128
- end
129
-
130
- # PACKAGING ============================================================
131
-
132
- if defined?(Gem)
133
- # Load the gemspec using the same limitations as github
134
- def spec
135
- require 'rubygems' unless defined? Gem::Specification
136
- @spec ||= eval(File.read('sinatra.gemspec'))
137
- end
138
-
139
- def package(ext='')
140
- "pkg/sinatra-#{spec.version}" + ext
141
- end
142
-
143
- desc 'Build packages'
144
- task :package => %w[.gem .tar.gz].map {|e| package(e)}
145
-
146
- desc 'Build and install as local gem'
147
- task :install => package('.gem') do
148
- sh "gem install #{package('.gem')}"
149
- end
150
-
151
- directory 'pkg/'
152
- CLOBBER.include('pkg')
153
-
154
- file package('.gem') => %w[pkg/ sinatra.gemspec] + spec.files do |f|
155
- sh "gem build sinatra.gemspec"
156
- mv File.basename(f.name), f.name
157
- end
158
-
159
- file package('.tar.gz') => %w[pkg/] + spec.files do |f|
160
- sh <<-SH
161
- git archive \
162
- --prefix=sinatra-#{source_version}/ \
163
- --format=tar \
164
- HEAD | gzip > #{f.name}
165
- SH
166
- end
167
-
168
- task 'release' => ['test', package('.gem')] do
169
- if File.binread("CHANGES") =~ /= \d\.\d\.\d . not yet released$/i
170
- fail 'please update changes first'
171
- end
172
-
173
- sh <<-SH
174
- gem install #{package('.gem')} --local &&
175
- gem push #{package('.gem')} &&
176
- git commit --allow-empty -a -m '#{source_version} release' &&
177
- git tag -s v#{source_version} -m '#{source_version} release' &&
178
- git tag -s #{source_version} -m '#{source_version} release' &&
179
- git push && (git push sinatra || true) &&
180
- git push --tags && (git push sinatra --tags || true)
181
- SH
182
- end
183
- end
@@ -1,61 +0,0 @@
1
- #!/usr/bin/env ruby -I ../lib -I lib
2
- # coding: utf-8
3
- require 'sinatra'
4
- set :server, 'thin'
5
- connections = []
6
-
7
- get '/' do
8
- halt erb(:login) unless params[:user]
9
- erb :chat, :locals => { :user => params[:user].gsub(/\W/, '') }
10
- end
11
-
12
- get '/stream', :provides => 'text/event-stream' do
13
- stream :keep_open do |out|
14
- connections << out
15
- out.callback { connections.delete(out) }
16
- end
17
- end
18
-
19
- post '/' do
20
- connections.each { |out| out << "data: #{params[:msg]}\n\n" }
21
- 204 # response without entity body
22
- end
23
-
24
- __END__
25
-
26
- @@ layout
27
- <html>
28
- <head>
29
- <title>Super Simple Chat with Sinatra</title>
30
- <meta charset="utf-8" />
31
- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
32
- </head>
33
- <body><%= yield %></body>
34
- </html>
35
-
36
- @@ login
37
- <form action='/'>
38
- <label for='user'>User Name:</label>
39
- <input name='user' value='' />
40
- <input type='submit' value="GO!" />
41
- </form>
42
-
43
- @@ chat
44
- <pre id='chat'></pre>
45
-
46
- <script>
47
- // reading
48
- var es = new EventSource('/stream');
49
- es.onmessage = function(e) { $('#chat').append(e.data + "\n") };
50
-
51
- // writing
52
- $("form").live("submit", function(e) {
53
- $.post('/', {msg: "<%= user %>: " + $('#msg').val()});
54
- $('#msg').val(''); $('#msg').focus();
55
- e.preventDefault();
56
- });
57
- </script>
58
-
59
- <form>
60
- <input id='msg' placeholder='type message here...' />
61
- </form>
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env ruby -I ../lib -I lib
2
- require 'sinatra'
3
- get('/') { 'this is a simple app' }
@@ -1,26 +0,0 @@
1
- # this example does *not* work properly with WEBrick
2
- #
3
- # run *one* of these:
4
- #
5
- # rackup -s mongrel stream.ru # gem install mongrel
6
- # thin -R stream.ru start # gem install thin
7
- # unicorn stream.ru # gem install unicorn
8
- # puma stream.ru # gem install puma
9
-
10
- require 'sinatra/base'
11
-
12
- class Stream < Sinatra::Base
13
- get '/' do
14
- content_type :txt
15
-
16
- stream do |out|
17
- out << "It's gonna be legen -\n"
18
- sleep 0.5
19
- out << " (wait for it) \n"
20
- sleep 1
21
- out << "- dary!\n"
22
- end
23
- end
24
- end
25
-
26
- run Stream
@@ -1,4 +0,0 @@
1
- require 'sinatra/base'
2
- require 'sinatra/main'
3
-
4
- enable :inline_templates
@@ -1,1728 +0,0 @@
1
- # external dependencies
2
- require 'rack'
3
- require 'tilt'
4
- require 'rack/protection'
5
-
6
- # stdlib dependencies
7
- require 'thread'
8
- require 'time'
9
- require 'uri'
10
-
11
- # other files we need
12
- require 'sinatra/showexceptions'
13
- require 'sinatra/version'
14
-
15
- module Sinatra
16
- # The request object. See Rack::Request for more info:
17
- # http://rack.rubyforge.org/doc/classes/Rack/Request.html
18
- class Request < Rack::Request
19
- # Returns an array of acceptable media types for the response
20
- def accept
21
- @env['sinatra.accept'] ||= begin
22
- entries = @env['HTTP_ACCEPT'].to_s.split(',')
23
- entries.map { |e| accept_entry(e) }.sort_by(&:last).map(&:first)
24
- end
25
- end
26
-
27
- def preferred_type(*types)
28
- return accept.first if types.empty?
29
- types.flatten!
30
- accept.detect do |pattern|
31
- type = types.detect { |t| File.fnmatch(pattern, t) }
32
- return type if type
33
- end
34
- end
35
-
36
- alias accept? preferred_type
37
- alias secure? ssl?
38
-
39
- def forwarded?
40
- @env.include? "HTTP_X_FORWARDED_HOST"
41
- end
42
-
43
- def safe?
44
- get? or head? or options? or trace?
45
- end
46
-
47
- def idempotent?
48
- safe? or put? or delete?
49
- end
50
-
51
- private
52
-
53
- def accept_entry(entry)
54
- type, *options = entry.delete(' ').split(';')
55
- quality = 0 # we sort smallest first
56
- options.delete_if { |e| quality = 1 - e[2..-1].to_f if e.start_with? 'q=' }
57
- [type, [quality, type.count('*'), 1 - options.size]]
58
- end
59
- end
60
-
61
- # The response object. See Rack::Response and Rack::ResponseHelpers for
62
- # more info:
63
- # http://rack.rubyforge.org/doc/classes/Rack/Response.html
64
- # http://rack.rubyforge.org/doc/classes/Rack/Response/Helpers.html
65
- class Response < Rack::Response
66
- def initialize(*)
67
- super
68
- headers['Content-Type'] ||= 'text/html'
69
- end
70
-
71
- def body=(value)
72
- value = value.body while Rack::Response === value
73
- @body = String === value ? [value.to_str] : value
74
- end
75
-
76
- def each
77
- block_given? ? super : enum_for(:each)
78
- end
79
-
80
- def finish
81
- result = body
82
-
83
- if drop_content_info?
84
- headers.delete "Content-Length"
85
- headers.delete "Content-Type"
86
- end
87
-
88
- if drop_body?
89
- close
90
- result = []
91
- end
92
-
93
- if calculate_content_length?
94
- # if some other code has already set Content-Length, don't muck with it
95
- # currently, this would be the static file-handler
96
- headers["Content-Length"] = body.inject(0) { |l, p| l + Rack::Utils.bytesize(p) }.to_s
97
- end
98
-
99
- [status.to_i, header, result]
100
- end
101
-
102
- private
103
-
104
- def calculate_content_length?
105
- headers["Content-Type"] and not headers["Content-Length"] and Array === body
106
- end
107
-
108
- def drop_content_info?
109
- status.to_i / 100 == 1 or drop_body?
110
- end
111
-
112
- def drop_body?
113
- [204, 205, 304].include?(status.to_i)
114
- end
115
- end
116
-
117
- # Some Rack handlers (Thin, Rainbows!) implement an extended body object protocol, however,
118
- # some middleware (namely Rack::Lint) will break it by not mirroring the methods in question.
119
- # This middleware will detect an extended body object and will make sure it reaches the
120
- # handler directly. We do this here, so our middleware and middleware set up by the app will
121
- # still be able to run.
122
- class ExtendedRack < Struct.new(:app)
123
- def call(env)
124
- result, callback = app.call(env), env['async.callback']
125
- return result unless callback and async?(*result)
126
- after_response { callback.call result }
127
- setup_close(env, *result)
128
- throw :async
129
- end
130
-
131
- private
132
-
133
- def setup_close(env, status, header, body)
134
- return unless body.respond_to? :close and env.include? 'async.close'
135
- env['async.close'].callback { body.close }
136
- env['async.close'].errback { body.close }
137
- end
138
-
139
- def after_response(&block)
140
- raise NotImplementedError, "only supports EventMachine at the moment" unless defined? EventMachine
141
- EventMachine.next_tick(&block)
142
- end
143
-
144
- def async?(status, headers, body)
145
- return true if status == -1
146
- body.respond_to? :callback and body.respond_to? :errback
147
- end
148
- end
149
-
150
- # Behaves exactly like Rack::CommonLogger with the notable exception that it does nothing,
151
- # if another CommonLogger is already in the middleware chain.
152
- class CommonLogger < Rack::CommonLogger
153
- def call(env)
154
- env['sinatra.commonlogger'] ? @app.call(env) : super
155
- end
156
-
157
- superclass.class_eval do
158
- alias call_without_check call unless method_defined? :call_without_check
159
- def call(env)
160
- env['sinatra.commonlogger'] = true
161
- call_without_check(env)
162
- end
163
- end
164
- end
165
-
166
- class NotFound < NameError #:nodoc:
167
- def code ; 404 ; end
168
- end
169
-
170
- # Methods available to routes, before/after filters, and views.
171
- module Helpers
172
- # Set or retrieve the response status code.
173
- def status(value=nil)
174
- response.status = value if value
175
- response.status
176
- end
177
-
178
- # Set or retrieve the response body. When a block is given,
179
- # evaluation is deferred until the body is read with #each.
180
- def body(value=nil, &block)
181
- if block_given?
182
- def block.each; yield(call) end
183
- response.body = block
184
- elsif value
185
- response.body = value
186
- else
187
- response.body
188
- end
189
- end
190
-
191
- # Halt processing and redirect to the URI provided.
192
- def redirect(uri, *args)
193
- if env['HTTP_VERSION'] == 'HTTP/1.1' and env["REQUEST_METHOD"] != 'GET'
194
- status 303
195
- else
196
- status 302
197
- end
198
-
199
- # According to RFC 2616 section 14.30, "the field value consists of a
200
- # single absolute URI"
201
- response['Location'] = uri(uri, settings.absolute_redirects?, settings.prefixed_redirects?)
202
- halt(*args)
203
- end
204
-
205
- # Generates the absolute URI for a given path in the app.
206
- # Takes Rack routers and reverse proxies into account.
207
- def uri(addr = nil, absolute = true, add_script_name = true)
208
- return addr if addr =~ /\A[A-z][A-z0-9\+\.\-]*:/
209
- uri = [host = ""]
210
- if absolute
211
- host << "http#{'s' if request.secure?}://"
212
- if request.forwarded? or request.port != (request.secure? ? 443 : 80)
213
- host << request.host_with_port
214
- else
215
- host << request.host
216
- end
217
- end
218
- uri << request.script_name.to_s if add_script_name
219
- uri << (addr ? addr : request.path_info).to_s
220
- File.join uri
221
- end
222
-
223
- alias url uri
224
- alias to uri
225
-
226
- # Halt processing and return the error status provided.
227
- def error(code, body=nil)
228
- code, body = 500, code.to_str if code.respond_to? :to_str
229
- response.body = body unless body.nil?
230
- halt code
231
- end
232
-
233
- # Halt processing and return a 404 Not Found.
234
- def not_found(body=nil)
235
- error 404, body
236
- end
237
-
238
- # Set multiple response headers with Hash.
239
- def headers(hash=nil)
240
- response.headers.merge! hash if hash
241
- response.headers
242
- end
243
-
244
- # Access the underlying Rack session.
245
- def session
246
- request.session
247
- end
248
-
249
- # Access shared logger object.
250
- def logger
251
- request.logger
252
- end
253
-
254
- # Look up a media type by file extension in Rack's mime registry.
255
- def mime_type(type)
256
- Base.mime_type(type)
257
- end
258
-
259
- # Set the Content-Type of the response body given a media type or file
260
- # extension.
261
- def content_type(type = nil, params={})
262
- return response['Content-Type'] unless type
263
- default = params.delete :default
264
- mime_type = mime_type(type) || default
265
- fail "Unknown media type: %p" % type if mime_type.nil?
266
- mime_type = mime_type.dup
267
- unless params.include? :charset or settings.add_charset.all? { |p| not p === mime_type }
268
- params[:charset] = params.delete('charset') || settings.default_encoding
269
- end
270
- params.delete :charset if mime_type.include? 'charset'
271
- unless params.empty?
272
- mime_type << (mime_type.include?(';') ? ', ' : ';')
273
- mime_type << params.map { |kv| kv.join('=') }.join(', ')
274
- end
275
- response['Content-Type'] = mime_type
276
- end
277
-
278
- # Set the Content-Disposition to "attachment" with the specified filename,
279
- # instructing the user agents to prompt to save.
280
- def attachment(filename=nil)
281
- response['Content-Disposition'] = 'attachment'
282
- if filename
283
- params = '; filename="%s"' % File.basename(filename)
284
- response['Content-Disposition'] << params
285
- ext = File.extname(filename)
286
- content_type(ext) unless response['Content-Type'] or ext.empty?
287
- end
288
- end
289
-
290
- # Use the contents of the file at +path+ as the response body.
291
- def send_file(path, opts={})
292
- if opts[:type] or not response['Content-Type']
293
- content_type opts[:type] || File.extname(path), :default => 'application/octet-stream'
294
- end
295
-
296
- if opts[:disposition] == 'attachment' || opts[:filename]
297
- attachment opts[:filename] || path
298
- elsif opts[:disposition] == 'inline'
299
- response['Content-Disposition'] = 'inline'
300
- end
301
-
302
- last_modified opts[:last_modified] if opts[:last_modified]
303
-
304
- file = Rack::File.new nil
305
- file.path = path
306
- result = file.serving env
307
- result[1].each { |k,v| headers[k] ||= v }
308
- halt result[0], result[2]
309
- rescue Errno::ENOENT
310
- not_found
311
- end
312
-
313
- # Class of the response body in case you use #stream.
314
- #
315
- # Three things really matter: The front and back block (back being the
316
- # block generating content, front the one sending it to the client) and
317
- # the scheduler, integrating with whatever concurrency feature the Rack
318
- # handler is using.
319
- #
320
- # Scheduler has to respond to defer and schedule.
321
- class Stream
322
- def self.schedule(*) yield end
323
- def self.defer(*) yield end
324
-
325
- def initialize(scheduler = self.class, keep_open = false, &back)
326
- @back, @scheduler, @keep_open = back.to_proc, scheduler, keep_open
327
- @callbacks, @closed = [], false
328
- end
329
-
330
- def close
331
- return if @closed
332
- @closed = true
333
- @scheduler.schedule { @callbacks.each { |c| c.call }}
334
- end
335
-
336
- def each(&front)
337
- @front = front
338
- @scheduler.defer do
339
- begin
340
- @back.call(self)
341
- rescue Exception => e
342
- @scheduler.schedule { raise e }
343
- end
344
- close unless @keep_open
345
- end
346
- end
347
-
348
- def <<(data)
349
- @scheduler.schedule { @front.call(data.to_s) }
350
- self
351
- end
352
-
353
- def callback(&block)
354
- return yield if @closed
355
- @callbacks << block
356
- end
357
-
358
- alias errback callback
359
- end
360
-
361
- # Allows to start sending data to the client even though later parts of
362
- # the response body have not yet been generated.
363
- #
364
- # The close parameter specifies whether Stream#close should be called
365
- # after the block has been executed. This is only relevant for evented
366
- # servers like Thin or Rainbows.
367
- def stream(keep_open = false)
368
- scheduler = env['async.callback'] ? EventMachine : Stream
369
- current = @params.dup
370
- body Stream.new(scheduler, keep_open) { |out| with_params(current) { yield(out) } }
371
- end
372
-
373
- # Specify response freshness policy for HTTP caches (Cache-Control header).
374
- # Any number of non-value directives (:public, :private, :no_cache,
375
- # :no_store, :must_revalidate, :proxy_revalidate) may be passed along with
376
- # a Hash of value directives (:max_age, :min_stale, :s_max_age).
377
- #
378
- # cache_control :public, :must_revalidate, :max_age => 60
379
- # => Cache-Control: public, must-revalidate, max-age=60
380
- #
381
- # See RFC 2616 / 14.9 for more on standard cache control directives:
382
- # http://tools.ietf.org/html/rfc2616#section-14.9.1
383
- def cache_control(*values)
384
- if values.last.kind_of?(Hash)
385
- hash = values.pop
386
- hash.reject! { |k,v| v == false }
387
- hash.reject! { |k,v| values << k if v == true }
388
- else
389
- hash = {}
390
- end
391
-
392
- values.map! { |value| value.to_s.tr('_','-') }
393
- hash.each do |key, value|
394
- key = key.to_s.tr('_', '-')
395
- value = value.to_i if key == "max-age"
396
- values << [key, value].join('=')
397
- end
398
-
399
- response['Cache-Control'] = values.join(', ') if values.any?
400
- end
401
-
402
- # Set the Expires header and Cache-Control/max-age directive. Amount
403
- # can be an integer number of seconds in the future or a Time object
404
- # indicating when the response should be considered "stale". The remaining
405
- # "values" arguments are passed to the #cache_control helper:
406
- #
407
- # expires 500, :public, :must_revalidate
408
- # => Cache-Control: public, must-revalidate, max-age=60
409
- # => Expires: Mon, 08 Jun 2009 08:50:17 GMT
410
- #
411
- def expires(amount, *values)
412
- values << {} unless values.last.kind_of?(Hash)
413
-
414
- if amount.is_a? Integer
415
- time = Time.now + amount.to_i
416
- max_age = amount
417
- else
418
- time = time_for amount
419
- max_age = time - Time.now
420
- end
421
-
422
- values.last.merge!(:max_age => max_age)
423
- cache_control(*values)
424
-
425
- response['Expires'] = time.httpdate
426
- end
427
-
428
- # Set the last modified time of the resource (HTTP 'Last-Modified' header)
429
- # and halt if conditional GET matches. The +time+ argument is a Time,
430
- # DateTime, or other object that responds to +to_time+.
431
- #
432
- # When the current request includes an 'If-Modified-Since' header that is
433
- # equal or later than the time specified, execution is immediately halted
434
- # with a '304 Not Modified' response.
435
- def last_modified(time)
436
- return unless time
437
- time = time_for time
438
- response['Last-Modified'] = time.httpdate
439
- return if env['HTTP_IF_NONE_MATCH']
440
-
441
- if status == 200 and env['HTTP_IF_MODIFIED_SINCE']
442
- # compare based on seconds since epoch
443
- since = Time.httpdate(env['HTTP_IF_MODIFIED_SINCE']).to_i
444
- halt 304 if since >= time.to_i
445
- end
446
-
447
- if (success? or status == 412) and env['HTTP_IF_UNMODIFIED_SINCE']
448
- # compare based on seconds since epoch
449
- since = Time.httpdate(env['HTTP_IF_UNMODIFIED_SINCE']).to_i
450
- halt 412 if since < time.to_i
451
- end
452
- rescue ArgumentError
453
- end
454
-
455
- # Set the response entity tag (HTTP 'ETag' header) and halt if conditional
456
- # GET matches. The +value+ argument is an identifier that uniquely
457
- # identifies the current version of the resource. The +kind+ argument
458
- # indicates whether the etag should be used as a :strong (default) or :weak
459
- # cache validator.
460
- #
461
- # When the current request includes an 'If-None-Match' header with a
462
- # matching etag, execution is immediately halted. If the request method is
463
- # GET or HEAD, a '304 Not Modified' response is sent.
464
- def etag(value, options = {})
465
- # Before touching this code, please double check RFC 2616 14.24 and 14.26.
466
- options = {:kind => options} unless Hash === options
467
- kind = options[:kind] || :strong
468
- new_resource = options.fetch(:new_resource) { request.post? }
469
-
470
- unless [:strong, :weak].include?(kind)
471
- raise ArgumentError, ":strong or :weak expected"
472
- end
473
-
474
- value = '"%s"' % value
475
- value = 'W/' + value if kind == :weak
476
- response['ETag'] = value
477
-
478
- if success? or status == 304
479
- if etag_matches? env['HTTP_IF_NONE_MATCH'], new_resource
480
- halt(request.safe? ? 304 : 412)
481
- end
482
-
483
- if env['HTTP_IF_MATCH']
484
- halt 412 unless etag_matches? env['HTTP_IF_MATCH'], new_resource
485
- end
486
- end
487
- end
488
-
489
- # Sugar for redirect (example: redirect back)
490
- def back
491
- request.referer
492
- end
493
-
494
- # whether or not the status is set to 1xx
495
- def informational?
496
- status.between? 100, 199
497
- end
498
-
499
- # whether or not the status is set to 2xx
500
- def success?
501
- status.between? 200, 299
502
- end
503
-
504
- # whether or not the status is set to 3xx
505
- def redirect?
506
- status.between? 300, 399
507
- end
508
-
509
- # whether or not the status is set to 4xx
510
- def client_error?
511
- status.between? 400, 499
512
- end
513
-
514
- # whether or not the status is set to 5xx
515
- def server_error?
516
- status.between? 500, 599
517
- end
518
-
519
- # whether or not the status is set to 404
520
- def not_found?
521
- status == 404
522
- end
523
-
524
- # Generates a Time object from the given value.
525
- # Used by #expires and #last_modified.
526
- def time_for(value)
527
- if value.respond_to? :to_time
528
- value.to_time
529
- elsif value.is_a? Time
530
- value
531
- elsif value.respond_to? :new_offset
532
- # DateTime#to_time does the same on 1.9
533
- d = value.new_offset 0
534
- t = Time.utc d.year, d.mon, d.mday, d.hour, d.min, d.sec + d.sec_fraction
535
- t.getlocal
536
- elsif value.respond_to? :mday
537
- # Date#to_time does the same on 1.9
538
- Time.local(value.year, value.mon, value.mday)
539
- elsif value.is_a? Numeric
540
- Time.at value
541
- else
542
- Time.parse value.to_s
543
- end
544
- rescue ArgumentError => boom
545
- raise boom
546
- rescue Exception
547
- raise ArgumentError, "unable to convert #{value.inspect} to a Time object"
548
- end
549
-
550
- private
551
-
552
- # Helper method checking if a ETag value list includes the current ETag.
553
- def etag_matches?(list, new_resource = request.post?)
554
- return !new_resource if list == '*'
555
- list.to_s.split(/\s*,\s*/).include? response['ETag']
556
- end
557
-
558
- def with_params(temp_params)
559
- original, @params = @params, temp_params
560
- yield
561
- ensure
562
- @params = original if original
563
- end
564
- end
565
-
566
- private
567
-
568
- # Template rendering methods. Each method takes the name of a template
569
- # to render as a Symbol and returns a String with the rendered output,
570
- # as well as an optional hash with additional options.
571
- #
572
- # `template` is either the name or path of the template as symbol
573
- # (Use `:'subdir/myview'` for views in subdirectories), or a string
574
- # that will be rendered.
575
- #
576
- # Possible options are:
577
- # :content_type The content type to use, same arguments as content_type.
578
- # :layout If set to false, no layout is rendered, otherwise
579
- # the specified layout is used (Ignored for `sass` and `less`)
580
- # :layout_engine Engine to use for rendering the layout.
581
- # :locals A hash with local variables that should be available
582
- # in the template
583
- # :scope If set, template is evaluate with the binding of the given
584
- # object rather than the application instance.
585
- # :views Views directory to use.
586
- module Templates
587
- module ContentTyped
588
- attr_accessor :content_type
589
- end
590
-
591
- def initialize
592
- super
593
- @default_layout = :layout
594
- end
595
-
596
- def erb(template, options={}, locals={})
597
- render :erb, template, options, locals
598
- end
599
-
600
- def erubis(template, options={}, locals={})
601
- warn "Sinatra::Templates#erubis is deprecated and will be removed, use #erb instead.\n" \
602
- "If you have Erubis installed, it will be used automatically."
603
- render :erubis, template, options, locals
604
- end
605
-
606
- def haml(template, options={}, locals={})
607
- render :haml, template, options, locals
608
- end
609
-
610
- def sass(template, options={}, locals={})
611
- options.merge! :layout => false, :default_content_type => :css
612
- render :sass, template, options, locals
613
- end
614
-
615
- def scss(template, options={}, locals={})
616
- options.merge! :layout => false, :default_content_type => :css
617
- render :scss, template, options, locals
618
- end
619
-
620
- def less(template, options={}, locals={})
621
- options.merge! :layout => false, :default_content_type => :css
622
- render :less, template, options, locals
623
- end
624
-
625
- def builder(template=nil, options={}, locals={}, &block)
626
- options[:default_content_type] = :xml
627
- render_ruby(:builder, template, options, locals, &block)
628
- end
629
-
630
- def liquid(template, options={}, locals={})
631
- render :liquid, template, options, locals
632
- end
633
-
634
- def markdown(template, options={}, locals={})
635
- render :markdown, template, options, locals
636
- end
637
-
638
- def textile(template, options={}, locals={})
639
- render :textile, template, options, locals
640
- end
641
-
642
- def rdoc(template, options={}, locals={})
643
- render :rdoc, template, options, locals
644
- end
645
-
646
- def radius(template, options={}, locals={})
647
- render :radius, template, options, locals
648
- end
649
-
650
- def markaby(template=nil, options={}, locals={}, &block)
651
- render_ruby(:mab, template, options, locals, &block)
652
- end
653
-
654
- def coffee(template, options={}, locals={})
655
- options.merge! :layout => false, :default_content_type => :js
656
- render :coffee, template, options, locals
657
- end
658
-
659
- def nokogiri(template=nil, options={}, locals={}, &block)
660
- options[:default_content_type] = :xml
661
- render_ruby(:nokogiri, template, options, locals, &block)
662
- end
663
-
664
- def slim(template, options={}, locals={})
665
- render :slim, template, options, locals
666
- end
667
-
668
- def creole(template, options={}, locals={})
669
- render :creole, template, options, locals
670
- end
671
-
672
- # Calls the given block for every possible template file in views,
673
- # named name.ext, where ext is registered on engine.
674
- def find_template(views, name, engine)
675
- yield ::File.join(views, "#{name}.#{@preferred_extension}")
676
- Tilt.mappings.each do |ext, engines|
677
- next unless ext != @preferred_extension and engines.include? engine
678
- yield ::File.join(views, "#{name}.#{ext}")
679
- end
680
- end
681
-
682
- private
683
- # logic shared between builder and nokogiri
684
- def render_ruby(engine, template, options={}, locals={}, &block)
685
- options, template = template, nil if template.is_a?(Hash)
686
- template = Proc.new { block } if template.nil?
687
- render engine, template, options, locals
688
- end
689
-
690
- def render(engine, data, options={}, locals={}, &block)
691
- # merge app-level options
692
- options = settings.send(engine).merge(options) if settings.respond_to?(engine)
693
- options[:outvar] ||= '@_out_buf'
694
- options[:default_encoding] ||= settings.default_encoding
695
-
696
- # extract generic options
697
- locals = options.delete(:locals) || locals || {}
698
- views = options.delete(:views) || settings.views || "./views"
699
- layout = options.delete(:layout)
700
- eat_errors = layout.nil?
701
- layout = @default_layout if layout.nil? or layout == true
702
- content_type = options.delete(:content_type) || options.delete(:default_content_type)
703
- layout_engine = options.delete(:layout_engine) || engine
704
- scope = options.delete(:scope) || self
705
-
706
- # compile and render template
707
- begin
708
- layout_was = @default_layout
709
- @default_layout = false
710
- template = compile_template(engine, data, options, views)
711
- output = template.render(scope, locals, &block)
712
- ensure
713
- @default_layout = layout_was
714
- end
715
-
716
- # render layout
717
- if layout
718
- options = options.merge(:views => views, :layout => false, :eat_errors => eat_errors, :scope => scope)
719
- catch(:layout_missing) { return render(layout_engine, layout, options, locals) { output } }
720
- end
721
-
722
- output.extend(ContentTyped).content_type = content_type if content_type
723
- output
724
- end
725
-
726
- def compile_template(engine, data, options, views)
727
- eat_errors = options.delete :eat_errors
728
- template_cache.fetch engine, data, options do
729
- template = Tilt[engine]
730
- raise "Template engine not found: #{engine}" if template.nil?
731
-
732
- case data
733
- when Symbol
734
- body, path, line = settings.templates[data]
735
- if body
736
- body = body.call if body.respond_to?(:call)
737
- template.new(path, line.to_i, options) { body }
738
- else
739
- found = false
740
- @preferred_extension = engine.to_s
741
- find_template(views, data, template) do |file|
742
- path ||= file # keep the initial path rather than the last one
743
- if found = File.exists?(file)
744
- path = file
745
- break
746
- end
747
- end
748
- throw :layout_missing if eat_errors and not found
749
- template.new(path, 1, options)
750
- end
751
- when Proc, String
752
- body = data.is_a?(String) ? Proc.new { data } : data
753
- path, line = settings.caller_locations.first
754
- template.new(path, line.to_i, options, &body)
755
- else
756
- raise ArgumentError, "Sorry, don't know how to render #{data.inspect}."
757
- end
758
- end
759
- end
760
- end
761
-
762
- # Base class for all Sinatra applications and middleware.
763
- class Base
764
- include Rack::Utils
765
- include Helpers
766
- include Templates
767
-
768
- attr_accessor :app
769
- attr_reader :template_cache
770
-
771
- def initialize(app=nil)
772
- super()
773
- @app = app
774
- @template_cache = Tilt::Cache.new
775
- yield self if block_given?
776
- end
777
-
778
- # Rack call interface.
779
- def call(env)
780
- dup.call!(env)
781
- end
782
-
783
- attr_accessor :env, :request, :response, :params
784
-
785
- def call!(env) # :nodoc:
786
- @env = env
787
- @request = Request.new(env)
788
- @response = Response.new
789
- @params = indifferent_params(@request.params)
790
- template_cache.clear if settings.reload_templates
791
- force_encoding(@params)
792
-
793
- @response['Content-Type'] = nil
794
- invoke { dispatch! }
795
- invoke { error_block!(response.status) }
796
-
797
- unless @response['Content-Type']
798
- if Array === body and body[0].respond_to? :content_type
799
- content_type body[0].content_type
800
- else
801
- content_type :html
802
- end
803
- end
804
-
805
- @response.finish
806
- end
807
-
808
- # Access settings defined with Base.set.
809
- def self.settings
810
- self
811
- end
812
-
813
- # Access settings defined with Base.set.
814
- def settings
815
- self.class.settings
816
- end
817
-
818
- def options
819
- warn "Sinatra::Base#options is deprecated and will be removed, " \
820
- "use #settings instead."
821
- settings
822
- end
823
-
824
- # Exit the current block, halts any further processing
825
- # of the request, and returns the specified response.
826
- def halt(*response)
827
- response = response.first if response.length == 1
828
- throw :halt, response
829
- end
830
-
831
- # Pass control to the next matching route.
832
- # If there are no more matching routes, Sinatra will
833
- # return a 404 response.
834
- def pass(&block)
835
- throw :pass, block
836
- end
837
-
838
- # Forward the request to the downstream app -- middleware only.
839
- def forward
840
- fail "downstream app not set" unless @app.respond_to? :call
841
- status, headers, body = @app.call env
842
- @response.status = status
843
- @response.body = body
844
- @response.headers.merge! headers
845
- nil
846
- end
847
-
848
- private
849
- # Run filters defined on the class and all superclasses.
850
- def filter!(type, base = settings)
851
- filter! type, base.superclass if base.superclass.respond_to?(:filters)
852
- base.filters[type].each { |args| process_route(*args) }
853
- end
854
-
855
- # Run routes defined on the class and all superclasses.
856
- def route!(base = settings, pass_block=nil)
857
- if routes = base.routes[@request.request_method]
858
- routes.each do |pattern, keys, conditions, block|
859
- pass_block = process_route(pattern, keys, conditions) do |*args|
860
- route_eval { block[*args] }
861
- end
862
- end
863
- end
864
-
865
- # Run routes defined in superclass.
866
- if base.superclass.respond_to?(:routes)
867
- return route!(base.superclass, pass_block)
868
- end
869
-
870
- route_eval(&pass_block) if pass_block
871
- route_missing
872
- end
873
-
874
- # Run a route block and throw :halt with the result.
875
- def route_eval
876
- throw :halt, yield
877
- end
878
-
879
- # If the current request matches pattern and conditions, fill params
880
- # with keys and call the given block.
881
- # Revert params afterwards.
882
- #
883
- # Returns pass block.
884
- def process_route(pattern, keys, conditions, block = nil, values = [])
885
- route = @request.path_info
886
- route = '/' if route.empty? and not settings.empty_path_info?
887
- return unless match = pattern.match(route)
888
- values += match.captures.to_a.map { |v| force_encoding URI.decode_www_form_component(v) if v }
889
-
890
- if values.any?
891
- original, @params = params, params.merge('splat' => [], 'captures' => values)
892
- keys.zip(values) { |k,v| Array === @params[k] ? @params[k] << v : @params[k] = v if v }
893
- end
894
-
895
- catch(:pass) do
896
- conditions.each { |c| throw :pass if c.bind(self).call == false }
897
- block ? block[self, values] : yield(self, values)
898
- end
899
- ensure
900
- @params = original if original
901
- end
902
-
903
- # No matching route was found or all routes passed. The default
904
- # implementation is to forward the request downstream when running
905
- # as middleware (@app is non-nil); when no downstream app is set, raise
906
- # a NotFound exception. Subclasses can override this method to perform
907
- # custom route miss logic.
908
- def route_missing
909
- if @app
910
- forward
911
- else
912
- raise NotFound
913
- end
914
- end
915
-
916
- # Attempt to serve static files from public directory. Throws :halt when
917
- # a matching file is found, returns nil otherwise.
918
- def static!
919
- return if (public_dir = settings.public_folder).nil?
920
- public_dir = File.expand_path(public_dir)
921
-
922
- path = File.expand_path(public_dir + unescape(request.path_info))
923
- return unless path.start_with?(public_dir) and File.file?(path)
924
-
925
- env['sinatra.static_file'] = path
926
- cache_control(*settings.static_cache_control) if settings.static_cache_control?
927
- send_file path, :disposition => nil
928
- end
929
-
930
- # Enable string or symbol key access to the nested params hash.
931
- def indifferent_params(params)
932
- params = indifferent_hash.merge(params)
933
- params.each do |key, value|
934
- next unless value.is_a?(Hash)
935
- params[key] = indifferent_params(value)
936
- end
937
- end
938
-
939
- # Creates a Hash with indifferent access.
940
- def indifferent_hash
941
- Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
942
- end
943
-
944
- # Run the block with 'throw :halt' support and apply result to the response.
945
- def invoke
946
- res = catch(:halt) { yield }
947
- res = [res] if Fixnum === res or String === res
948
- if Array === res and Fixnum === res.first
949
- status(res.shift)
950
- body(res.pop)
951
- headers(*res)
952
- elsif res.respond_to? :each
953
- body res
954
- end
955
- nil # avoid double setting the same response tuple twice
956
- end
957
-
958
- # Dispatch a request with error handling.
959
- def dispatch!
960
- invoke do
961
- static! if settings.static? && (request.get? || request.head?)
962
- filter! :before
963
- route!
964
- end
965
- rescue ::Exception => boom
966
- invoke { handle_exception!(boom) }
967
- ensure
968
- filter! :after unless env['sinatra.static_file']
969
- end
970
-
971
- # Error handling during requests.
972
- def handle_exception!(boom)
973
- @env['sinatra.error'] = boom
974
- status boom.respond_to?(:code) ? Integer(boom.code) : 500
975
-
976
- if server_error?
977
- dump_errors! boom if settings.dump_errors?
978
- raise boom if settings.show_exceptions? and settings.show_exceptions != :after_handler
979
- end
980
-
981
- if not_found?
982
- headers['X-Cascade'] = 'pass'
983
- body '<h1>Not Found</h1>'
984
- end
985
-
986
- res = error_block!(boom.class, boom) || error_block!(status, boom)
987
- return res if res or not server_error?
988
- raise boom if settings.raise_errors? or settings.show_exceptions?
989
- error_block! Exception, boom
990
- end
991
-
992
- # Find an custom error block for the key(s) specified.
993
- def error_block!(key, *block_params)
994
- base = settings
995
- while base.respond_to?(:errors)
996
- next base = base.superclass unless args = base.errors[key]
997
- args += [block_params]
998
- return process_route(*args)
999
- end
1000
- return false unless key.respond_to? :superclass and key.superclass < Exception
1001
- error_block!(key.superclass, *block_params)
1002
- end
1003
-
1004
- def dump_errors!(boom)
1005
- msg = ["#{boom.class} - #{boom.message}:", *boom.backtrace].join("\n\t")
1006
- @env['rack.errors'].puts(msg)
1007
- end
1008
-
1009
- class << self
1010
- attr_reader :routes, :filters, :templates, :errors
1011
-
1012
- # Removes all routes, filters, middleware and extension hooks from the
1013
- # current class (not routes/filters/... defined by its superclass).
1014
- def reset!
1015
- @conditions = []
1016
- @routes = {}
1017
- @filters = {:before => [], :after => []}
1018
- @errors = {}
1019
- @middleware = []
1020
- @prototype = nil
1021
- @extensions = []
1022
-
1023
- if superclass.respond_to?(:templates)
1024
- @templates = Hash.new { |hash,key| superclass.templates[key] }
1025
- else
1026
- @templates = {}
1027
- end
1028
- end
1029
-
1030
- # Extension modules registered on this class and all superclasses.
1031
- def extensions
1032
- if superclass.respond_to?(:extensions)
1033
- (@extensions + superclass.extensions).uniq
1034
- else
1035
- @extensions
1036
- end
1037
- end
1038
-
1039
- # Middleware used in this class and all superclasses.
1040
- def middleware
1041
- if superclass.respond_to?(:middleware)
1042
- superclass.middleware + @middleware
1043
- else
1044
- @middleware
1045
- end
1046
- end
1047
-
1048
- # Sets an option to the given value. If the value is a proc,
1049
- # the proc will be called every time the option is accessed.
1050
- def set(option, value = (not_set = true), ignore_setter = false, &block)
1051
- raise ArgumentError if block and !not_set
1052
- value, not_set = block, false if block
1053
-
1054
- if not_set
1055
- raise ArgumentError unless option.respond_to?(:each)
1056
- option.each { |k,v| set(k, v) }
1057
- return self
1058
- end
1059
-
1060
- if respond_to?("#{option}=") and not ignore_setter
1061
- return __send__("#{option}=", value)
1062
- end
1063
-
1064
- setter = proc { |val| set option, val, true }
1065
- getter = proc { value }
1066
-
1067
- case value
1068
- when Proc
1069
- getter = value
1070
- when Symbol, Fixnum, FalseClass, TrueClass, NilClass
1071
- getter = value.inspect
1072
- when Hash
1073
- setter = proc do |val|
1074
- val = value.merge val if Hash === val
1075
- set option, val, true
1076
- end
1077
- end
1078
-
1079
- define_singleton_method("#{option}=", setter) if setter
1080
- define_singleton_method(option, getter) if getter
1081
- define_singleton_method("#{option}?", "!!#{option}") unless method_defined? "#{option}?"
1082
- self
1083
- end
1084
-
1085
- # Same as calling `set :option, true` for each of the given options.
1086
- def enable(*opts)
1087
- opts.each { |key| set(key, true) }
1088
- end
1089
-
1090
- # Same as calling `set :option, false` for each of the given options.
1091
- def disable(*opts)
1092
- opts.each { |key| set(key, false) }
1093
- end
1094
-
1095
- # Define a custom error handler. Optionally takes either an Exception
1096
- # class, or an HTTP status code to specify which errors should be
1097
- # handled.
1098
- def error(*codes, &block)
1099
- args = compile! "ERROR", //, block
1100
- codes = codes.map { |c| Array(c) }.flatten
1101
- codes << Exception if codes.empty?
1102
- codes.each { |c| @errors[c] = args }
1103
- end
1104
-
1105
- # Sugar for `error(404) { ... }`
1106
- def not_found(&block)
1107
- error 404, &block
1108
- end
1109
-
1110
- # Define a named template. The block must return the template source.
1111
- def template(name, &block)
1112
- filename, line = caller_locations.first
1113
- templates[name] = [block, filename, line.to_i]
1114
- end
1115
-
1116
- # Define the layout template. The block must return the template source.
1117
- def layout(name=:layout, &block)
1118
- template name, &block
1119
- end
1120
-
1121
- # Load embeded templates from the file; uses the caller's __FILE__
1122
- # when no file is specified.
1123
- def inline_templates=(file=nil)
1124
- file = (file.nil? || file == true) ? (caller_files.first || File.expand_path($0)) : file
1125
-
1126
- begin
1127
- io = ::IO.respond_to?(:binread) ? ::IO.binread(file) : ::IO.read(file)
1128
- app, data = io.gsub("\r\n", "\n").split(/^__END__$/, 2)
1129
- rescue Errno::ENOENT
1130
- app, data = nil
1131
- end
1132
-
1133
- if data
1134
- if app and app =~ /([^\n]*\n)?#[^\n]*coding: *(\S+)/m
1135
- encoding = $2
1136
- else
1137
- encoding = settings.default_encoding
1138
- end
1139
- lines = app.count("\n") + 1
1140
- template = nil
1141
- force_encoding data, encoding
1142
- data.each_line do |line|
1143
- lines += 1
1144
- if line =~ /^@@\s*(.*\S)\s*$/
1145
- template = force_encoding('', encoding)
1146
- templates[$1.to_sym] = [template, file, lines]
1147
- elsif template
1148
- template << line
1149
- end
1150
- end
1151
- end
1152
- end
1153
-
1154
- # Lookup or register a mime type in Rack's mime registry.
1155
- def mime_type(type, value=nil)
1156
- return type if type.nil? || type.to_s.include?('/')
1157
- type = ".#{type}" unless type.to_s[0] == ?.
1158
- return Rack::Mime.mime_type(type, nil) unless value
1159
- Rack::Mime::MIME_TYPES[type] = value
1160
- end
1161
-
1162
- # provides all mime types matching type, including deprecated types:
1163
- # mime_types :html # => ['text/html']
1164
- # mime_types :js # => ['application/javascript', 'text/javascript']
1165
- def mime_types(type)
1166
- type = mime_type type
1167
- type =~ /^application\/(xml|javascript)$/ ? [type, "text/#$1"] : [type]
1168
- end
1169
-
1170
- # Define a before filter; runs before all requests within the same
1171
- # context as route handlers and may access/modify the request and
1172
- # response.
1173
- def before(path = nil, options = {}, &block)
1174
- add_filter(:before, path, options, &block)
1175
- end
1176
-
1177
- # Define an after filter; runs after all requests within the same
1178
- # context as route handlers and may access/modify the request and
1179
- # response.
1180
- def after(path = nil, options = {}, &block)
1181
- add_filter(:after, path, options, &block)
1182
- end
1183
-
1184
- # add a filter
1185
- def add_filter(type, path = nil, options = {}, &block)
1186
- path, options = //, path if path.respond_to?(:each_pair)
1187
- filters[type] << compile!(type, path || //, block, options)
1188
- end
1189
-
1190
- # Add a route condition. The route is considered non-matching when the
1191
- # block returns false.
1192
- def condition(name = "#{caller.first[/`.*'/]} condition", &block)
1193
- @conditions << generate_method(name, &block)
1194
- end
1195
-
1196
- def public=(value)
1197
- warn ":public is no longer used to avoid overloading Module#public, use :public_folder instead"
1198
- set(:public_folder, value)
1199
- end
1200
-
1201
- private
1202
- # Dynamically defines a method on settings.
1203
- def define_singleton_method(name, content = Proc.new)
1204
- # replace with call to singleton_class once we're 1.9 only
1205
- (class << self; self; end).class_eval do
1206
- undef_method(name) if method_defined? name
1207
- String === content ? class_eval("def #{name}() #{content}; end") : define_method(name, &content)
1208
- end
1209
- end
1210
-
1211
- # Condition for matching host name. Parameter might be String or Regexp.
1212
- def host_name(pattern)
1213
- condition { pattern === request.host }
1214
- end
1215
-
1216
- # Condition for matching user agent. Parameter should be Regexp.
1217
- # Will set params[:agent].
1218
- def user_agent(pattern)
1219
- condition do
1220
- if request.user_agent.to_s =~ pattern
1221
- @params[:agent] = $~[1..-1]
1222
- true
1223
- else
1224
- false
1225
- end
1226
- end
1227
- end
1228
- alias_method :agent, :user_agent
1229
-
1230
- # Condition for matching mimetypes. Accepts file extensions.
1231
- def provides(*types)
1232
- types.map! { |t| mime_types(t) }
1233
- types.flatten!
1234
- condition do
1235
- if type = request.preferred_type(types)
1236
- content_type(type)
1237
- true
1238
- else
1239
- false
1240
- end
1241
- end
1242
- end
1243
-
1244
- public
1245
- # Defining a `GET` handler also automatically defines
1246
- # a `HEAD` handler.
1247
- def get(path, opts={}, &block)
1248
- conditions = @conditions.dup
1249
- route('GET', path, opts, &block)
1250
-
1251
- @conditions = conditions
1252
- route('HEAD', path, opts, &block)
1253
- end
1254
-
1255
- def put(path, opts={}, &bk) route 'PUT', path, opts, &bk end
1256
- def post(path, opts={}, &bk) route 'POST', path, opts, &bk end
1257
- def delete(path, opts={}, &bk) route 'DELETE', path, opts, &bk end
1258
- def head(path, opts={}, &bk) route 'HEAD', path, opts, &bk end
1259
- def options(path, opts={}, &bk) route 'OPTIONS', path, opts, &bk end
1260
- def patch(path, opts={}, &bk) route 'PATCH', path, opts, &bk end
1261
-
1262
- private
1263
- def route(verb, path, options={}, &block)
1264
- # Because of self.options.host
1265
- host_name(options.delete(:host)) if options.key?(:host)
1266
- enable :empty_path_info if path == "" and empty_path_info.nil?
1267
- signature = compile!(verb, path, block, options)
1268
- (@routes[verb] ||= []) << signature
1269
- invoke_hook(:route_added, verb, path, block)
1270
- signature
1271
- end
1272
-
1273
- def invoke_hook(name, *args)
1274
- extensions.each { |e| e.send(name, *args) if e.respond_to?(name) }
1275
- end
1276
-
1277
- def generate_method(method_name, &block)
1278
- define_method(method_name, &block)
1279
- method = instance_method method_name
1280
- remove_method method_name
1281
- method
1282
- end
1283
-
1284
- def compile!(verb, path, block, options = {})
1285
- options.each_pair { |option, args| send(option, *args) }
1286
- method_name = "#{verb} #{path}"
1287
- unbound_method = generate_method(method_name, &block)
1288
- pattern, keys = compile path
1289
- conditions, @conditions = @conditions, []
1290
-
1291
- [ pattern, keys, conditions, block.arity != 0 ?
1292
- proc { |a,p| unbound_method.bind(a).call(*p) } :
1293
- proc { |a,p| unbound_method.bind(a).call } ]
1294
- end
1295
-
1296
- def compile(path)
1297
- keys = []
1298
- if path.respond_to? :to_str
1299
- pattern = path.to_str.gsub(/[^\?\%\\\/\:\*\w]/) { |c| encoded(c) }
1300
- pattern.gsub!(/((:\w+)|\*)/) do |match|
1301
- if match == "*"
1302
- keys << 'splat'
1303
- "(.*?)"
1304
- else
1305
- keys << $2[1..-1]
1306
- "([^/?#]+)"
1307
- end
1308
- end
1309
- [/^#{pattern}$/, keys]
1310
- elsif path.respond_to?(:keys) && path.respond_to?(:match)
1311
- [path, path.keys]
1312
- elsif path.respond_to?(:names) && path.respond_to?(:match)
1313
- [path, path.names]
1314
- elsif path.respond_to? :match
1315
- [path, keys]
1316
- else
1317
- raise TypeError, path
1318
- end
1319
- end
1320
-
1321
- URI = ::URI.const_defined?(:Parser) ? ::URI::Parser.new : ::URI
1322
-
1323
- def encoded(char)
1324
- enc = URI.escape(char)
1325
- enc = "(?:#{Regexp.escape enc}|#{URI.escape char, /./})" if enc == char
1326
- enc = "(?:#{enc}|#{encoded('+')})" if char == " "
1327
- enc
1328
- end
1329
-
1330
- public
1331
- # Makes the methods defined in the block and in the Modules given
1332
- # in `extensions` available to the handlers and templates
1333
- def helpers(*extensions, &block)
1334
- class_eval(&block) if block_given?
1335
- include(*extensions) if extensions.any?
1336
- end
1337
-
1338
- # Register an extension. Alternatively take a block from which an
1339
- # extension will be created and registered on the fly.
1340
- def register(*extensions, &block)
1341
- extensions << Module.new(&block) if block_given?
1342
- @extensions += extensions
1343
- extensions.each do |extension|
1344
- extend extension
1345
- extension.registered(self) if extension.respond_to?(:registered)
1346
- end
1347
- end
1348
-
1349
- def development?; environment == :development end
1350
- def production?; environment == :production end
1351
- def test?; environment == :test end
1352
-
1353
- # Set configuration options for Sinatra and/or the app.
1354
- # Allows scoping of settings for certain environments.
1355
- def configure(*envs, &block)
1356
- yield self if envs.empty? || envs.include?(environment.to_sym)
1357
- end
1358
-
1359
- # Use the specified Rack middleware
1360
- def use(middleware, *args, &block)
1361
- @prototype = nil
1362
- @middleware << [middleware, args, block]
1363
- end
1364
-
1365
- def quit!(server, handler_name)
1366
- # Use Thin's hard #stop! if available, otherwise just #stop.
1367
- server.respond_to?(:stop!) ? server.stop! : server.stop
1368
- $stderr.puts "\n== Sinatra has ended his set (crowd applauds)" unless handler_name =~/cgi/i
1369
- end
1370
-
1371
- # Run the Sinatra app as a self-hosted server using
1372
- # Thin, Mongrel or WEBrick (in that order). If given a block, will call
1373
- # with the constructed handler once we have taken the stage.
1374
- def run!(options={})
1375
- set options
1376
- handler = detect_rack_handler
1377
- handler_name = handler.name.gsub(/.*::/, '')
1378
- handler.run self, :Host => bind, :Port => port do |server|
1379
- unless handler_name =~ /cgi/i
1380
- $stderr.puts "== Sinatra/#{Sinatra::VERSION} has taken the stage " +
1381
- "on #{port} for #{environment} with backup from #{handler_name}"
1382
- end
1383
- [:INT, :TERM].each { |sig| trap(sig) { quit!(server, handler_name) } }
1384
- server.threaded = settings.threaded if server.respond_to? :threaded=
1385
- set :running, true
1386
- yield server if block_given?
1387
- end
1388
- rescue Errno::EADDRINUSE
1389
- $stderr.puts "== Someone is already performing on port #{port}!"
1390
- end
1391
-
1392
- # The prototype instance used to process requests.
1393
- def prototype
1394
- @prototype ||= new
1395
- end
1396
-
1397
- # Create a new instance without middleware in front of it.
1398
- alias new! new unless method_defined? :new!
1399
-
1400
- # Create a new instance of the class fronted by its middleware
1401
- # pipeline. The object is guaranteed to respond to #call but may not be
1402
- # an instance of the class new was called on.
1403
- def new(*args, &bk)
1404
- build(Rack::Builder.new, *args, &bk).to_app
1405
- end
1406
-
1407
- # Creates a Rack::Builder instance with all the middleware set up and
1408
- # an instance of this class as end point.
1409
- def build(builder, *args, &bk)
1410
- setup_default_middleware builder
1411
- setup_middleware builder
1412
- builder.run new!(*args, &bk)
1413
- builder
1414
- end
1415
-
1416
- def call(env)
1417
- synchronize { prototype.call(env) }
1418
- end
1419
-
1420
- private
1421
- def setup_default_middleware(builder)
1422
- builder.use ExtendedRack
1423
- builder.use ShowExceptions if show_exceptions?
1424
- builder.use Rack::MethodOverride if method_override?
1425
- builder.use Rack::Head
1426
- setup_logging builder
1427
- setup_sessions builder
1428
- setup_protection builder
1429
- end
1430
-
1431
- def setup_middleware(builder)
1432
- middleware.each { |c,a,b| builder.use(c, *a, &b) }
1433
- end
1434
-
1435
- def setup_logging(builder)
1436
- if logging?
1437
- setup_common_logger(builder)
1438
- setup_custom_logger(builder)
1439
- elsif logging == false
1440
- setup_null_logger(builder)
1441
- end
1442
- end
1443
-
1444
- def setup_null_logger(builder)
1445
- builder.use Rack::NullLogger
1446
- end
1447
-
1448
- def setup_common_logger(builder)
1449
- builder.use Sinatra::CommonLogger
1450
- end
1451
-
1452
- def setup_custom_logger(builder)
1453
- if logging.respond_to? :to_int
1454
- builder.use Rack::Logger, logging
1455
- else
1456
- builder.use Rack::Logger
1457
- end
1458
- end
1459
-
1460
- def setup_protection(builder)
1461
- return unless protection?
1462
- options = Hash === protection ? protection.dup : {}
1463
- options[:except] = Array options[:except]
1464
- options[:except] += [:session_hijacking, :remote_token] unless sessions?
1465
- options[:reaction] ||= :drop_session
1466
- builder.use Rack::Protection, options
1467
- end
1468
-
1469
- def setup_sessions(builder)
1470
- return unless sessions?
1471
- options = {}
1472
- options[:secret] = session_secret if session_secret?
1473
- options.merge! sessions.to_hash if sessions.respond_to? :to_hash
1474
- builder.use Rack::Session::Cookie, options
1475
- end
1476
-
1477
- def detect_rack_handler
1478
- servers = Array(server)
1479
- servers.each do |server_name|
1480
- begin
1481
- return Rack::Handler.get(server_name.to_s)
1482
- rescue LoadError, NameError
1483
- end
1484
- end
1485
- fail "Server handler (#{servers.join(',')}) not found."
1486
- end
1487
-
1488
- def inherited(subclass)
1489
- subclass.reset!
1490
- subclass.set :app_file, caller_files.first unless subclass.app_file?
1491
- super
1492
- end
1493
-
1494
- @@mutex = Mutex.new
1495
- def synchronize(&block)
1496
- if lock?
1497
- @@mutex.synchronize(&block)
1498
- else
1499
- yield
1500
- end
1501
- end
1502
-
1503
- public
1504
- CALLERS_TO_IGNORE = [ # :nodoc:
1505
- /\/sinatra(\/(base|main|showexceptions))?\.rb$/, # all sinatra code
1506
- /lib\/tilt.*\.rb$/, # all tilt code
1507
- /^\(.*\)$/, # generated code
1508
- /rubygems\/(custom|core_ext\/kernel)_require\.rb$/, # rubygems require hacks
1509
- /active_support/, # active_support require hacks
1510
- /bundler(\/runtime)?\.rb/, # bundler require hacks
1511
- /<internal:/, # internal in ruby >= 1.9.2
1512
- /src\/kernel\/bootstrap\/[A-Z]/ # maglev kernel files
1513
- ]
1514
-
1515
- # contrary to what the comment said previously, rubinius never supported this
1516
- if defined?(RUBY_IGNORE_CALLERS)
1517
- warn "RUBY_IGNORE_CALLERS is deprecated and will no longer be supported by Sinatra 2.0"
1518
- CALLERS_TO_IGNORE.concat(RUBY_IGNORE_CALLERS)
1519
- end
1520
-
1521
- # Like Kernel#caller but excluding certain magic entries and without
1522
- # line / method information; the resulting array contains filenames only.
1523
- def caller_files
1524
- cleaned_caller(1).flatten
1525
- end
1526
-
1527
- # Like caller_files, but containing Arrays rather than strings with the
1528
- # first element being the file, and the second being the line.
1529
- def caller_locations
1530
- cleaned_caller 2
1531
- end
1532
-
1533
- private
1534
- # used for deprecation warnings
1535
- def warn(message)
1536
- super message + "\n\tfrom #{cleaned_caller.first.join(':')}"
1537
- end
1538
-
1539
- # Like Kernel#caller but excluding certain magic entries
1540
- def cleaned_caller(keep = 3)
1541
- caller(1).
1542
- map { |line| line.split(/:(?=\d|in )/, 3)[0,keep] }.
1543
- reject { |file, *_| CALLERS_TO_IGNORE.any? { |pattern| file =~ pattern } }
1544
- end
1545
- end
1546
-
1547
- # Fixes encoding issues by
1548
- # * defaulting to UTF-8
1549
- # * casting params to Encoding.default_external
1550
- #
1551
- # The latter might not be necessary if Rack handles it one day.
1552
- # Keep an eye on Rack's LH #100.
1553
- def force_encoding(*args) settings.force_encoding(*args) end
1554
- if defined? Encoding
1555
- def self.force_encoding(data, encoding = default_encoding)
1556
- return if data == settings || data.is_a?(Tempfile)
1557
- if data.respond_to? :force_encoding
1558
- data.force_encoding(encoding).encode!
1559
- elsif data.respond_to? :each_value
1560
- data.each_value { |v| force_encoding(v, encoding) }
1561
- elsif data.respond_to? :each
1562
- data.each { |v| force_encoding(v, encoding) }
1563
- end
1564
- data
1565
- end
1566
- else
1567
- def self.force_encoding(data, *) data end
1568
- end
1569
-
1570
- reset!
1571
-
1572
- set :environment, (ENV['RACK_ENV'] || :development).to_sym
1573
- set :raise_errors, Proc.new { test? }
1574
- set :dump_errors, Proc.new { !test? }
1575
- set :show_exceptions, Proc.new { development? }
1576
- set :sessions, false
1577
- set :logging, false
1578
- set :protection, true
1579
- set :method_override, false
1580
- set :default_encoding, "utf-8"
1581
- set :add_charset, %w[javascript xml xhtml+xml json].map { |t| "application/#{t}" }
1582
- settings.add_charset << /^text\//
1583
-
1584
- # explicitly generating a session secret eagerly to play nice with preforking
1585
- begin
1586
- require 'securerandom'
1587
- set :session_secret, SecureRandom.hex(64)
1588
- rescue LoadError, NotImplementedError
1589
- # SecureRandom raises a NotImplementedError if no random device is available
1590
- set :session_secret, "%064x" % Kernel.rand(2**256-1)
1591
- end
1592
-
1593
- class << self
1594
- alias_method :methodoverride?, :method_override?
1595
- alias_method :methodoverride=, :method_override=
1596
- end
1597
-
1598
- set :run, false # start server via at-exit hook?
1599
- set :running, false # is the built-in server running now?
1600
- set :server, %w[thin mongrel webrick]
1601
- set :bind, '0.0.0.0'
1602
- set :port, 4567
1603
-
1604
- set :absolute_redirects, true
1605
- set :prefixed_redirects, false
1606
- set :empty_path_info, nil
1607
-
1608
- set :app_file, nil
1609
- set :root, Proc.new { app_file && File.expand_path(File.dirname(app_file)) }
1610
- set :views, Proc.new { root && File.join(root, 'views') }
1611
- set :reload_templates, Proc.new { development? }
1612
- set :lock, false
1613
- set :threaded, true
1614
-
1615
- set :public_folder, Proc.new { root && File.join(root, 'public') }
1616
- set :static, Proc.new { public_folder && File.exist?(public_folder) }
1617
- set :static_cache_control, false
1618
-
1619
- error ::Exception do
1620
- response.status = 500
1621
- content_type 'text/html'
1622
- '<h1>Internal Server Error</h1>'
1623
- end
1624
-
1625
- configure :development do
1626
- get '/__sinatra__/:image.png' do
1627
- filename = File.dirname(__FILE__) + "/images/#{params[:image]}.png"
1628
- content_type :png
1629
- send_file filename
1630
- end
1631
-
1632
- error NotFound do
1633
- content_type 'text/html'
1634
-
1635
- (<<-HTML).gsub(/^ {8}/, '')
1636
- <!DOCTYPE html>
1637
- <html>
1638
- <head>
1639
- <style type="text/css">
1640
- body { text-align:center;font-family:helvetica,arial;font-size:22px;
1641
- color:#888;margin:20px}
1642
- #c {margin:0 auto;width:500px;text-align:left}
1643
- </style>
1644
- </head>
1645
- <body>
1646
- <h2>Sinatra doesn&rsquo;t know this ditty.</h2>
1647
- <img src='#{uri "/__sinatra__/404.png"}'>
1648
- <div id="c">
1649
- Try this:
1650
- <pre>#{request.request_method.downcase} '#{request.path_info}' do\n "Hello World"\nend</pre>
1651
- </div>
1652
- </body>
1653
- </html>
1654
- HTML
1655
- end
1656
- end
1657
- end
1658
-
1659
- # Execution context for classic style (top-level) applications. All
1660
- # DSL methods executed on main are delegated to this class.
1661
- #
1662
- # The Application class should not be subclassed, unless you want to
1663
- # inherit all settings, routes, handlers, and error pages from the
1664
- # top-level. Subclassing Sinatra::Base is highly recommended for
1665
- # modular applications.
1666
- class Application < Base
1667
- set :logging, Proc.new { ! test? }
1668
- set :method_override, true
1669
- set :run, Proc.new { ! test? }
1670
- set :session_secret, Proc.new { super() unless development? }
1671
- set :app_file, nil
1672
-
1673
- def self.register(*extensions, &block) #:nodoc:
1674
- added_methods = extensions.map {|m| m.public_instance_methods }.flatten
1675
- Delegator.delegate(*added_methods)
1676
- super(*extensions, &block)
1677
- end
1678
- end
1679
-
1680
- # Sinatra delegation mixin. Mixing this module into an object causes all
1681
- # methods to be delegated to the Sinatra::Application class. Used primarily
1682
- # at the top-level.
1683
- module Delegator #:nodoc:
1684
- def self.delegate(*methods)
1685
- methods.each do |method_name|
1686
- define_method(method_name) do |*args, &block|
1687
- return super(*args, &block) if respond_to? method_name
1688
- Delegator.target.send(method_name, *args, &block)
1689
- end
1690
- private method_name
1691
- end
1692
- end
1693
-
1694
- delegate :get, :patch, :put, :post, :delete, :head, :options, :template, :layout,
1695
- :before, :after, :error, :not_found, :configure, :set, :mime_type,
1696
- :enable, :disable, :use, :development?, :test?, :production?,
1697
- :helpers, :settings
1698
-
1699
- class << self
1700
- attr_accessor :target
1701
- end
1702
-
1703
- self.target = Application
1704
- end
1705
-
1706
- # Create a new Sinatra application. The block is evaluated in the new app's
1707
- # class scope.
1708
- def self.new(base=Base, options={}, &block)
1709
- base = Class.new(base)
1710
- base.class_eval(&block) if block_given?
1711
- base
1712
- end
1713
-
1714
- # Extend the top-level DSL with the modules provided.
1715
- def self.register(*extensions, &block)
1716
- Delegator.target.register(*extensions, &block)
1717
- end
1718
-
1719
- # Include the helper modules provided in Sinatra's request context.
1720
- def self.helpers(*extensions, &block)
1721
- Delegator.target.helpers(*extensions, &block)
1722
- end
1723
-
1724
- # Use the middleware for classic applications.
1725
- def self.use(*args, &block)
1726
- Delegator.target.use(*args, &block)
1727
- end
1728
- end