torquebox-console 0.2.5 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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,1785 +0,0 @@
1
- = Sinatra
2
- <i>Внимание: Этот документ является переводом английской версии и может быть устаревшим</i>
3
-
4
- Sinatra — это предметно-ориентированный каркас (DSL) для быстрого создания функциональных веб-приложений на Ruby:
5
-
6
- # myapp.rb
7
- require 'sinatra'
8
-
9
- get '/' do
10
- 'Hello world!'
11
- end
12
-
13
- Установите gem:
14
-
15
- gem install sinatra
16
-
17
- и запустите приложение с помощью:
18
-
19
- ruby -rubygems myapp.rb
20
-
21
- Результат можно увидеть: http://localhost:4567
22
-
23
- Рекомендуется также установить thin, сделать это можно командой: <tt>gem install thin</tt>.
24
- Thin - это более производительный и функциональный сервер для разработки приложений на Sinatra.
25
-
26
- == Маршруты
27
-
28
- В Sinatra маршрут — это пара: <HTTP метод> и <шаблон URL>.
29
- Каждый маршрут ассоциирован с блоком кода, исполняемого внутри, пример:
30
-
31
- get '/' do
32
- .. что-то показать ..
33
- end
34
-
35
- post '/' do
36
- .. что-то создать ..
37
- end
38
-
39
- put '/' do
40
- .. что-то заменить ..
41
- end
42
-
43
- patch '/' do
44
- .. что-то изменить ..
45
- end
46
-
47
- delete '/' do
48
- .. что-то удалить ..
49
- end
50
-
51
- options '/' do
52
- .. что-то ответить ..
53
- end
54
-
55
- Маршруты сверяются с запросом в порядке очередности их записи в файле приложения. По умолчанию
56
- будет вызван первый совпавший с запросом маршрут.
57
-
58
- Шаблоны маршрутов могут включать в себя параметры доступные в
59
- <tt>params</tt> xэше:
60
-
61
- get '/hello/:name' do
62
- # соответствует "GET /hello/foo" и "GET /hello/bar",
63
- # где params[:name] 'foo' или 'bar'
64
- "Hello #{params[:name]}!"
65
- end
66
-
67
- Можно также использовать именные параметры в переменных блоков:
68
-
69
- get '/hello/:name' do |n|
70
- "Hello #{n}!"
71
- end
72
-
73
- Шаблоны маршрутов также могут включать splat (или '*' маску, обозначающую любой символ) параметры доступные
74
- в массиве <tt>params[:splat]</tt>:
75
-
76
- get '/say/*/to/*' do
77
- # соответствует /say/hello/to/world
78
- params[:splat] # => ["hello", "world"]
79
- end
80
-
81
- get '/download/*.*' do
82
- # соответствует /download/path/to/file.xml
83
- params[:splat] # => ["path/to/file", "xml"]
84
- end
85
-
86
- Или с параметрами блока:
87
-
88
- get '/download/*.*' do |path, ext|
89
- [path, ext] # => ["path/to/file", "xml"]
90
- end
91
-
92
- Маршруты также могут содержать регулярные выражения:
93
-
94
- get %r{/hello/([\w]+)} do
95
- "Hello, #{params[:captures].first}!"
96
- end
97
-
98
- Или с параметром блока:
99
-
100
- get %r{/hello/([\w]+)} do |c|
101
- "Hello, #{c}!"
102
- end
103
-
104
- === Условия
105
-
106
- Маршруты могут включать различные условия совпадений, такие как user agent:
107
-
108
- get '/foo', :agent => /Songbird (\d\.\d)[\d\/]*?/ do
109
- "You're using Songbird version #{params[:agent][0]}"
110
- end
111
-
112
- get '/foo' do
113
- # соответствует non-songbird браузерам
114
- end
115
-
116
- Другими доступными условиями являются +host_name+ и +provides+:
117
-
118
- get '/', :host_name => /^admin\./ do
119
- "Admin Area, Access denied!"
120
- end
121
-
122
- get '/', :provides => 'html' do
123
- haml :index
124
- end
125
-
126
- get '/', :provides => ['rss', 'atom', 'xml'] do
127
- builder :feed
128
- end
129
-
130
- Вы можете задать собственные условия:
131
-
132
- set(:probability) { |value| condition { rand <= value } }
133
-
134
- get '/win_a_car', :probability => 0.1 do
135
- "You won!"
136
- end
137
-
138
- get '/win_a_car' do
139
- "Sorry, you lost."
140
- end
141
-
142
- === Возвращаемые значения
143
-
144
- Возвращаемое значение блока маршрута ограничивается телом ответа, которое будет передано HTTP клиенту,
145
- или следующей "прослойкой" (middleware) в Rack стеке. Чаще всего это строка, как в примерах выше.
146
- Но и другие значения также приемлемы.
147
-
148
- Вы можете вернуть любой объект, который будет либо корректным Rack ответом, объектом Rack body,
149
- либо кодом состояния HTTP:
150
-
151
- * массив с тремя переменными: <tt>[status (Fixnum), headers (Hash), response body (должен отвечать на #each)]</tt>;
152
- * массив с двумя переменными: <tt>[status (Fixnum), response body (должен отвечать на #each)]</tt>;
153
- * объект, отвечающий на <tt>#each</tt>, который передает только строковые типы данных в этот блок;
154
- * Fixnum, представляющий код состояния HTTP.
155
-
156
- Таким образом, мы легко можем создать поточный пример:
157
-
158
- class Stream
159
- def each
160
- 100.times { |i| yield "#{i}\n" }
161
- end
162
- end
163
-
164
- get('/') { Stream.new }
165
-
166
- === Собственные детекторы совпадений для маршрутов
167
-
168
- Как показано выше, Sinatra поставляется со встроенной поддержкой строк и
169
- регулярных выражений в качестве шаблонов URL. Но и это еще не все. Вы можете
170
- легко определить свои собственные детекторы совпадений (matchers) для маршрутов:
171
-
172
- class AllButPattern
173
- Match = Struct.new(:captures)
174
-
175
- def initialize(except)
176
- @except = except
177
- @captures = Match.new([])
178
- end
179
-
180
- def match(str)
181
- @captures unless @except === str
182
- end
183
- end
184
-
185
- def all_but(pattern)
186
- AllButPattern.new(pattern)
187
- end
188
-
189
- get all_but("/index") do
190
- # ...
191
- end
192
-
193
- Заметьте, что предыдущий пример возможно чересчур сложен, он также может быть представлен как:
194
-
195
- get // do
196
- pass if request.path_info == "/index"
197
- # ...
198
- end
199
-
200
- Или с использованием негативного просмотра вперед:
201
-
202
- get %r{^(?!/index$)} do
203
- # ...
204
- end
205
-
206
- == Статические файлы
207
-
208
- Статические файлы отдаются из <tt>./public</tt> директории. Вы можете указать другое место,
209
- указав его через опцию <tt>:public_folder</tt>:
210
-
211
- set :public_folder, File.dirname(__FILE__) + '/static'
212
-
213
- Учтите, что имя директории со статическими файлами не включено в URL. Например, файл
214
- <tt>./public/css/style.css</tt> будет доступен как
215
- <tt>http://example.com/css/style.css</tt>.
216
-
217
- Используйте опцию <tt>:static_cache_control</tt> (см. ниже), чтобы
218
- добавить заголовок <tt>Cache-Control</tt>.
219
-
220
- == Представления / Шаблоны
221
-
222
- Каждый шаблонизатор представлен своим собственным методом. Эти методы
223
- попросту возвращают строку:
224
-
225
- get '/' do
226
- erb :index
227
- end
228
-
229
- Отобразит <tt>views/index.erb</tt>.
230
-
231
- Вместо имени шаблона вы так же можете передавать непосредственно само
232
- содержимое шаблона
233
-
234
- get '/' do
235
- code = "<%= Time.now %>"
236
- erb code
237
- end
238
-
239
- Эти методы принимают второй аргумент, хеш с опциями:
240
-
241
- get '/' do
242
- erb :index, :layout => :post
243
- end
244
-
245
- Отобразит <tt>views/index.erb</tt>, вложенным в
246
- <tt>views/post.erb</tt> (по умолчанию: <tt>views/layout.erb</tt>, если существует).
247
-
248
- Любые опции, не понимаемые Sinatra, будут переданы в шаблонизатор
249
-
250
- get '/' do
251
- haml :index, :format => :html5
252
- end
253
-
254
- Вы также можете задавать опции для шаблонизаторов в общем:
255
-
256
- set :haml, :format => :html5
257
-
258
- get '/' do
259
- haml :index
260
- end
261
-
262
- Опции, переданные в метод, переопределяют опции, заданные с помощью
263
- +set+.
264
-
265
- Доступные опции:
266
-
267
- [locals]
268
- Список локальных переменных, передаваемых в документ.
269
- Например: <tt>erb "<%= foo %>", :locals => {:foo => "bar"}</tt>
270
-
271
- [default_encoding]
272
- Кодировка, которую следует использовать, если не удалось определить
273
- оригинальную. По умолчанию: <tt>settings.default_encoding</tt>.
274
-
275
- [views]
276
- Директория с шаблонами. По умолчанию: <tt>settings.views</tt>.
277
-
278
- [layout]
279
- Использовать или нет лэйаут (+true+ или +false+). Если же значение Symbol,
280
- то указывает, какой шаблон использовать в качестве лэйаута. Например:
281
- <tt>erb :index, :layout => !request.xhr?</tt>
282
-
283
- [content_type]
284
- Content-Type отображенного шаблона. По умолчанию: задается шаблонизатором.
285
-
286
- [scope]
287
- Область видимости, в которой рендерятся шаблоны. По умолчанию: экземпляр
288
- приложения. Если вы измените эту опцию, то переменные экземпляра и
289
- методы-помощники станут недоступными в ваших шаблонах.
290
-
291
- [layout_engine]
292
- Шаблонизатор, который следует использовать для отображения лэйаута. Полезная
293
- опция для шаблонизаторов, в которых нет никакой поддержки лэйаутов. По
294
- умолчанию: тот же шаблонизатор, что используется и для самого шаблона.
295
- Пример: <tt>set :rdoc, :layout_engine => :erb</tt>
296
-
297
- По умолчанию считается, что шаблоны находятся в директории <tt>./views</tt>.
298
- Чтобы использовать другую директорию с шаблонами:
299
-
300
- set :views, settings.root + '/templates'
301
-
302
- Важное замечание: вы всегда должны ссылаться на шаблоны с помощью символов
303
- (Symbol), даже когда они в поддиректории (в этом случае используйте
304
- <tt>:'subdir/template'</tt>). Вы должны использовать символы, потому что
305
- иначе шаблонизаторы попросту отображают любые строки, переданные им.
306
-
307
- === Доступные шаблонизаторы
308
-
309
- Некоторые языки шаблонов имеют несколько реализаций. Чтобы указать, какую
310
- реализацию использовать, вам следует просто подключить нужную
311
- библиотеку:
312
-
313
- require 'rdiscount' # или require 'bluecloth'
314
- get('/') { markdown :index }
315
-
316
- === Haml шаблоны
317
-
318
- Зависимости:: {haml}[http://haml.info/]
319
- Расширения файлов:: <tt>.haml</tt>
320
- Пример:: <tt>haml :index, :format => :html5</tt>
321
-
322
- === Erb шаблоны
323
-
324
- Зависимости:: {erubis}[http://www.kuwata-lab.com/erubis/] или erb (включен в Ruby)
325
- Расширения файлов:: <tt>.erb</tt>, <tt>.rhtml</tt> or <tt>.erubis</tt> (только Erubis)
326
- Пример:: <tt>erb :index</tt>
327
-
328
- === Builder шаблоны
329
-
330
- Зависимости:: {builder}[http://builder.rubyforge.org/]
331
- Расширения файлов:: <tt>.builder</tt>
332
- Пример:: <tt>builder { |xml| xml.em "hi" }</tt>
333
-
334
- Блок также используется и для встроенных шаблонов (см. пример).
335
-
336
- === Nokogiri шаблоны
337
-
338
- Зависимости:: {nokogiri}[http://nokogiri.org/]
339
- Расширения файлов:: <tt>.nokogiri</tt>
340
- Пример:: <tt>nokogiri { |xml| xml.em "hi" }</tt>
341
-
342
- Блок также используется и для встроенных шаблонов (см. пример).
343
-
344
- === Sass шаблоны
345
-
346
- Зависимости:: {sass}[http://sass-lang.com/]
347
- Расширения файлов:: <tt>.sass</tt>
348
- Пример:: <tt>sass :stylesheet, :style => :expanded</tt>
349
-
350
- === SCSS шаблоны
351
-
352
- Зависимости:: {sass}[http://sass-lang.com/]
353
- Расширения файлов:: <tt>.scss</tt>
354
- Пример:: <tt>scss :stylesheet, :style => :expanded</tt>
355
-
356
- === Less шаблоны
357
-
358
- Зависимости:: {less}[http://www.lesscss.org/]
359
- Расширения файлов:: <tt>.less</tt>
360
- Пример:: <tt>less :stylesheet</tt>
361
-
362
- === Liquid шаблоны
363
-
364
- Зависимости:: {liquid}[http://www.liquidmarkup.org/]
365
- Расширения файлов:: <tt>.liquid</tt>
366
- Пример:: <tt>liquid :index, :locals => { :key => 'value' }</tt>
367
-
368
- Так как в Liquid шаблонах невозможно вызывать методы из Ruby (кроме yield), то
369
- вы почти всегда будете передавать в шаблон локальные переменные.
370
-
371
- === Markdown шаблоны
372
-
373
- Зависимости:: {rdiscount}[https://github.com/rtomayko/rdiscount], {redcarpet}[https://github.com/tanoku/redcarpet], {bluecloth}[http://deveiate.org/projects/BlueCloth], {kramdown}[http://kramdown.rubyforge.org/] или {maruku}[http://maruku.rubyforge.org/]
374
- Расширения файлов:: <tt>.markdown</tt>, <tt>.mkd</tt> and <tt>.md</tt>
375
- Пример:: <tt>markdown :index, :layout_engine => :erb</tt>
376
-
377
- В Markdown невозможно вызывать методы или передавать локальные переменные.
378
- Следовательно, вам, скорее всего, придется использовать этот шаблон совместно
379
- с другим шаблонизатором:
380
-
381
- erb :overview, :locals => { :text => markdown(:introduction) }
382
-
383
- Заметьте, что вы можете вызывать метод +markdown+ из других шаблонов:
384
-
385
- %h1 Hello From Haml!
386
- %p= markdown(:greetings)
387
-
388
- Вы не можете вызывать Ruby из Markdown, соответственно, вы не можете
389
- использовать лэйауты на Markdown. Тем не менее, есть возможность использовать
390
- один шаблонизатор для отображения шаблона, а другой для лэйаута с помощью
391
- опции <tt>:layout_engine</tt>.
392
-
393
- === Textile шаблоны
394
-
395
- Зависимости:: {RedCloth}[http://redcloth.org/]
396
- Расширения файлов:: <tt>.textile</tt>
397
- Пример:: <tt>textile :index, :layout_engine => :erb</tt>
398
-
399
- В Textile невозможно вызывать методы или передавать локальные переменные.
400
- Следовательно, вам, скорее всего, придется использовать этот шаблон совместно с
401
- другим шаблонизатором:
402
-
403
- erb :overview, :locals => { :text => textile(:introduction) }
404
-
405
- Заметьте, что вы можете вызывать метод +textile+ из других шаблонов:
406
-
407
- %h1 Hello From Haml!
408
- %p= textile(:greetings)
409
-
410
- Вы не можете вызывать Ruby из Textile, соответственно, вы не можете
411
- использовать лэйауты на Textile. Тем не менее, есть возможность использовать
412
- один шаблонизатор для отображения шаблона, а другой для лэйаута с помощью
413
- опции <tt>:layout_engine</tt>.
414
-
415
- === RDoc шаблоны
416
-
417
- Зависимости:: {rdoc}[http://rdoc.rubyforge.org/]
418
- Расширения файлов:: <tt>.rdoc</tt>
419
- Пример:: <tt>textile :README, :layout_engine => :erb</tt>
420
-
421
- В RDoc невозможно вызывать методы или передавать локальные переменные.
422
- Следовательно, вам, скорее всего, придется использовать этот шаблон совместно с
423
- другим шаблонизатором:
424
-
425
- erb :overview, :locals => { :text => rdoc(:introduction) }
426
-
427
- Заметьте, что вы можете вызывать метод +rdoc+ из других шаблонов:
428
-
429
- %h1 Hello From Haml!
430
- %p= rdoc(:greetings)
431
-
432
- Вы не можете вызывать Ruby из RDoc, соответственно, вы не можете
433
- использовать лэйауты на RDoc. Тем не менее, есть возможность использовать
434
- один шаблонизатор для отображения шаблона, а другой для лэйаута с помощью
435
- опции <tt>:layout_engine</tt>.
436
-
437
- === Radius шаблоны
438
-
439
- Зависимости:: {radius}[http://radius.rubyforge.org/]
440
- Расширения файлов:: <tt>.radius</tt>
441
- Пример:: <tt>radius :index, :locals => { :key => 'value' }</tt>
442
-
443
- Так как в Radius шаблонах невозможно вызывать методы из Ruby напрямую, то
444
- вы почти всегда будете передавать в шаблон локальные переменные.
445
-
446
- === Markaby шаблоны
447
-
448
- Зависимости:: {markaby}[http://markaby.github.com/]
449
- Расширения файлов:: <tt>.mab</tt>
450
- Пример:: <tt>markaby { h1 "Welcome!" }</tt>
451
-
452
- Блок также используется и для встроенных шаблонов (см. пример).
453
-
454
- === Slim шаблоны
455
-
456
- Зависимости:: {slim}[http://slim-lang.com/]
457
- Расширения файлов:: <tt>.slim</tt>
458
- Пример:: <tt>slim :index</tt>
459
-
460
- === Creole шаблоны
461
-
462
- Зависимости:: {creole}[https://github.com/minad/creole]
463
- Расширения файлов:: <tt>.creole</tt>
464
- Пример:: <tt>creole :wiki, :layout_engine => :erb</tt>
465
-
466
- В Creole невозможно вызывать методы или передавать локальные переменные.
467
- Следовательно, вам, скорее всего, придется использовать этот шаблон совместно с
468
- другим шаблонизатором:
469
-
470
- erb :overview, :locals => { :text => creole(:introduction) }
471
-
472
- Заметьте, что вы можете вызывать метод +creole+ из других шаблонов:
473
-
474
- %h1 Hello From Haml!
475
- %p= creole(:greetings)
476
-
477
- Вы не можете вызывать Ruby из Creole, соответственно, вы не можете
478
- использовать лэйауты на Creole. Тем не менее, есть возможность использовать
479
- один шаблонизатор для отображения шаблона, а другой для лэйаута с помощью
480
- опции <tt>:layout_engine</tt>.
481
-
482
- === CoffeeScript шаблоны
483
-
484
- Зависимости:: {coffee-script}[https://github.com/josh/ruby-coffee-script] и {способ запускать javascript}[https://github.com/sstephenson/execjs/blob/master/README.md#readme]
485
- Расширения файлов:: <tt>.coffee</tt>
486
- Пример:: <tt>coffee :index</tt>
487
-
488
- === Встроенные шаблоны
489
-
490
- get '/' do
491
- haml '%div.title Hello World'
492
- end
493
-
494
- Отобразит встроенный шаблон, переданный строкой.
495
-
496
- === Доступ к переменным в шаблонах
497
-
498
- Шаблоны интерпретируются в том же контексте, что и обработчики маршрутов. Переменные экземпляра,
499
- установленные в процессе обработки маршрутов, будут доступны напрямую в шаблонах:
500
-
501
- get '/:id' do
502
- @foo = Foo.find(params[:id])
503
- haml '%h1= @foo.name'
504
- end
505
-
506
- Либо установите их через хеш локальных переменных:
507
-
508
- get '/:id' do
509
- foo = Foo.find(params[:id])
510
- haml '%h1= bar.name', :locals => { :bar => foo }
511
- end
512
-
513
- Это обычный подход, когда шаблоны рендерятся как части других шаблонов.
514
-
515
- === Вложенные шаблоны
516
-
517
- Шаблоны также могут быть определены в конце исходного файла:
518
-
519
- require 'sinatra'
520
-
521
- get '/' do
522
- haml :index
523
- end
524
-
525
- __END__
526
-
527
- @@ layout
528
- %html
529
- = yield
530
-
531
- @@ index
532
- %div.title Hello world!!!!!
533
-
534
- Заметьте: вложенные шаблоны, определенные в исходном файле, который подключила Sinatra, будут
535
- автоматически загружены. Вызовите <tt>enable :inline_templates</tt> напрямую, если у вас вложенные
536
- шаблоны в других файлах.
537
-
538
- === Именные шаблоны
539
-
540
- Шаблоны также могут быть определены при помощи <tt>template</tt> метода:
541
-
542
- template :layout do
543
- "%html\n =yield\n"
544
- end
545
-
546
- template :index do
547
- '%div.title Hello World!'
548
- end
549
-
550
- get '/' do
551
- haml :index
552
- end
553
-
554
- Если шаблон с именем "layout" существует, то он будет использоваться каждый раз
555
- при рендеринге. Вы можете отключать лэйаут в каждом конкретном случае с помощью
556
- <tt>:layout => false</tt> или отключить его для всего приложения, например, так:
557
- <tt>set :haml, :layout => false</tt>:
558
-
559
- get '/' do
560
- haml :index, :layout => !request.xhr?
561
- end
562
-
563
- === Привязка файловых расширений
564
-
565
- Чтобы связать расширение файла с движком рендеринга, используйте
566
- <tt>Tilt.register</tt>. Например, если вы хотите использовать расширение +tt+
567
- для шаблонов Textile:
568
-
569
- Tilt.register :tt, Tilt[:textile]
570
-
571
- === Добавление собственного движка рендеринга
572
-
573
- Сначала зарегистрируйте свой движок в Tilt, затем создайте метод, отвечающий за отрисовку:
574
-
575
- Tilt.register :myat, MyAwesomeTemplateEngine
576
-
577
- helpers do
578
- def myat(*args) render(:myat, *args) end
579
- end
580
-
581
- get '/' do
582
- myat :index
583
- end
584
-
585
- Отобразит <tt>./views/index.myat</tt>. Чтобы узнать больше о Tilt,
586
- смотрите https://github.com/rtomayko/tilt
587
-
588
- == Фильтры
589
-
590
- +before+-фильтры выполняются перед каждым запросом в том же контексте, что и маршруты. Фильтры могут изменять
591
- как запрос, так и ответ на него. Переменные экземпляра, установленные в фильтрах, доступны в маршрутах и шаблонах:
592
-
593
- before do
594
- @note = 'Hi!'
595
- request.path_info = '/foo/bar/baz'
596
- end
597
-
598
- get '/foo/*' do
599
- @note #=> 'Hi!'
600
- params[:splat] #=> 'bar/baz'
601
- end
602
-
603
- +after+-фильтры выполняются после каждого запроса в том же контексте, что и пути. Фильтры могут изменять
604
- как запрос, так и ответ на него. Переменные экземпляра, установленные в +before+-фильтрах и маршрутах,
605
- будут доступны в +after+-фильтрах:
606
-
607
- after do
608
- puts response.status
609
- end
610
-
611
- Заметьте: если вы используете метод +body+, а не просто возвращаете строку из
612
- маршрута, то тело ответа не будет доступно в +after+-фильтрах, так как оно будет сгенерировано позднее.
613
-
614
- Фильтры могут использовать шаблоны URL и будут интерпретированы только если путь запроса совпадет с этим шаблоном:
615
-
616
- before '/protected/*' do
617
- authenticate!
618
- end
619
-
620
- after '/create/:slug' do |slug|
621
- session[:last_slug] = slug
622
- end
623
-
624
- Как и маршруты, фильтры могут использовать условия:
625
-
626
- before :agent => /Songbird/ do
627
- # ...
628
- end
629
-
630
- after '/blog/*', :host_name => 'example.com' do
631
- # ...
632
- end
633
-
634
- == Методы-помощники
635
-
636
- Используйте метод <tt>helpers</tt>, чтобы определить методы-помощники, которые
637
- в дальнейшем можно будет использовать в обработчиках маршрутов и шаблонах:
638
-
639
- helpers do
640
- def bar(name)
641
- "#{name}bar"
642
- end
643
- end
644
-
645
- get '/:name' do
646
- bar(params[:name])
647
- end
648
-
649
- === Использование сессий
650
-
651
- Сессия используется, чтобы сохранять состояние между запросами. Если эта опция
652
- включена, то у вас будет один хеш сессии на одну пользовательскую сессию:
653
-
654
- enable :sessions
655
-
656
- get '/' do
657
- "value = " << session[:value].inspect
658
- end
659
-
660
- get '/:value' do
661
- session[:value] = params[:value]
662
- end
663
-
664
- Заметьте, что при использовании <tt>enable :sessions</tt> все данные
665
- сохраняются в cookies. Это может быть не совсем то, что вы хотите (например,
666
- сохранение больших объемов данных увеличит ваш трафик). В таком случае вы
667
- можете использовать альтернативную Rack "прослойку" (middleware), реализующую
668
- механизм сессий. Для этого *не надо* вызывать <tt>enable :sessions</tt>,
669
- вместо этого следует подключить ее так же, как и любую другую "прослойку":
670
-
671
- use Rack::Session::Pool, :expire_after => 2592000
672
-
673
- get '/' do
674
- "value = " << session[:value].inspect
675
- end
676
-
677
- get '/:value' do
678
- session[:value] = params[:value]
679
- end
680
-
681
- Для повышения безопасности данные сессии в куках подписываются секретным
682
- ключом. Секретный ключ генерируется Sinatra. Тем не менее, так как этот
683
- ключ будет меняться с каждым запуском приложения, вы, возможно, захотите
684
- установить ключ вручную, чтобы у всех экземпляров вашего приложения
685
- был один и тот же ключ:
686
-
687
- set :session_secret, 'super secret'
688
-
689
- Если вы хотите больше настроек для сессий, вы можете задать их, передав хеш опций в параметр +sessions+:
690
-
691
- set :sessions, :domain => 'foo.com'
692
-
693
- === Прерывание
694
-
695
- Чтобы незамедлительно прервать обработку запроса внутри фильтра или маршрута, используйте:
696
-
697
- halt
698
-
699
- Можно также указать статус при прерывании:
700
-
701
- halt 410
702
-
703
- Тело:
704
-
705
- halt 'this will be the body'
706
-
707
- И то, и другое:
708
-
709
- halt 401, 'go away!'
710
-
711
- Можно указать заголовки:
712
-
713
- halt 402, {'Content-Type' => 'text/plain'}, 'revenge'
714
-
715
- И, конечно, можно использовать шаблоны с +halt+:
716
-
717
- halt erb(:error)
718
-
719
- === Передача
720
-
721
- Маршрут может передать обработку запроса следующему совпадающему маршруту, используя <tt>pass</tt>:
722
-
723
- get '/guess/:who' do
724
- pass unless params[:who] == 'Frank'
725
- 'You got me!'
726
- end
727
-
728
- get '/guess/*' do
729
- 'You missed!'
730
- end
731
-
732
- Блок маршрута сразу же прерывается, и контроль переходит к следующему совпадающему маршруту.
733
- Если соответствующий маршрут не найден, то ответом на запрос будет 404.
734
-
735
- === Вызов другого маршрута
736
-
737
- Иногда +pass+ не подходит, например, если вы хотите получить результат
738
- вызова другого обработчика маршрута. В таком случае просто используйте +call+:
739
-
740
- get '/foo' do
741
- status, headers, body = call env.merge("PATH_INFO" => '/bar')
742
- [status, headers, body.map(&:upcase)]
743
- end
744
-
745
- get '/bar' do
746
- "bar"
747
- end
748
-
749
- Заметьте, что в предыдущем примере можно облегчить тестирование и повысить
750
- производительность, перенеся <tt>"bar"</tt> в метод-помощник, используемый
751
- и в <tt>/foo</tt>, и в <tt>/bar</tt>.
752
-
753
- Если вы хотите, чтобы запрос был отправлен в тот же экземпляр приложения, а не
754
- в его копию, используйте <tt>call!</tt> вместо <tt>call</tt>.
755
-
756
- Если хотите узнать больше о <tt>call</tt>, смотрите спецификацию Rack.
757
-
758
- === Задание тела, кода и заголовков ответа
759
-
760
- Хорошим тоном является установка кода состояния HTTP и тела ответа в возвращаемом
761
- значении обработчика маршрута. Тем не менее, в некоторых ситуациях вам, возможно,
762
- понадобится задать тело ответа в произвольной точке потока исполнения. Вы можете
763
- сделать это с помощью метода-помощника +body+. Если вы задействуете метод +body+,
764
- то вы можете использовать его и в дальнейшем, чтобы получить доступ к телу ответа.
765
-
766
- get '/foo' do
767
- body "bar"
768
- end
769
-
770
- after do
771
- puts body
772
- end
773
-
774
- Также можно передать блок в метод +body+, который затем будет вызван
775
- обработчиком Rack (такой подход может быть использован для реализации поточного
776
- ответа, см. "Возвращаемые значения").
777
-
778
- Аналогично вы можете установить код ответа и его заголовки:
779
-
780
- get '/foo' do
781
- status 418
782
- headers \
783
- "Allow" => "BREW, POST, GET, PROPFIND, WHEN",
784
- "Refresh" => "Refresh: 20; http://www.ietf.org/rfc/rfc2324.txt"
785
- body "I'm a tea pot!"
786
- end
787
-
788
- Как и +body+, методы +headers+ и +status+, вызванные без аргументов, возвращают
789
- свои текущие значения.
790
-
791
- === Логирование
792
-
793
- В области видимости запроса метод +logger+ предоставляет доступ к экземпляру +Logger+:
794
-
795
- get '/' do
796
- logger.info "loading data"
797
- # ...
798
- end
799
-
800
- Этот логер автоматически учитывает ваши настройки логирования в Rack. Если
801
- логирование выключено, то этот метод вернет пустой (dummy) объект, поэтому вы можете
802
- смело использовать его в маршрутах и фильтрах.
803
-
804
- Заметьте, что логирование включено по умолчанию только для <tt>Sinatra::Application</tt>,
805
- а если ваше приложение -- подкласс <tt>Sinatra::Base</tt>, то вы, наверное, захотите включить
806
- его вручную:
807
-
808
- class MyApp < Sinatra::Base
809
- configure(:production, :development) do
810
- enable :logging
811
- end
812
- end
813
-
814
- === Mime-типы
815
-
816
- Когда вы используете <tt>send_file</tt> или статические файлы, у вас могут быть mime-типы, которые Sinatra
817
- не понимает по умолчанию. Используйте +mime_type+ для их регистрации по расширению файла:
818
-
819
- configure do
820
- mime_type :foo, 'text/foo'
821
- end
822
-
823
- Вы также можете использовать это в +content_type+ методе-помощнике:
824
-
825
- get '/' do
826
- content_type :foo
827
- "foo foo foo"
828
- end
829
-
830
- === Генерирование URL
831
-
832
- Чтобы сформировать URL вам следует использовать метод +url+, например, в Haml:
833
-
834
- %a{:href => url('/foo')} foo
835
-
836
- Этот метод учитывает обратные прокси и маршрутизаторы Rack, если они присутствуют.
837
-
838
- Наряду с +url+ вы можете использовать +to+ (смотрите пример ниже).
839
-
840
- === Перенаправление (редирект)
841
-
842
- Вы можете перенаправить браузер пользователя с помощью метода +redirect+:
843
-
844
- get '/foo' do
845
- redirect to('/bar')
846
- end
847
-
848
- Любые дополнительные параметры используются по аналогии с аргументами метода +halt+:
849
-
850
- redirect to('/bar'), 303
851
- redirect 'http://google.com', 'wrong place, buddy'
852
-
853
- Вы также можете перенаправить пользователя обратно, на страницу с которой он пришел,
854
- с помощью <tt>redirect back</tt>:
855
-
856
- get '/foo' do
857
- "<a href='/bar'>do something</a>"
858
- end
859
-
860
- get '/bar' do
861
- do_something
862
- redirect back
863
- end
864
-
865
- Чтобы передать какие-либо параметры вместе с перенаправлением, либо добавьте их в строку запроса:
866
-
867
- redirect to('/bar?sum=42')
868
-
869
- либо используйте сессию:
870
-
871
- enable :sessions
872
-
873
- get '/foo' do
874
- session[:secret] = 'foo'
875
- redirect to('/bar')
876
- end
877
-
878
- get '/bar' do
879
- session[:secret]
880
- end
881
-
882
- === Управление кэшированием
883
-
884
- Установка корректных заголовков — основа правильного HTTP кэширования.
885
-
886
- Вы можете легко выставить заголовок Cache-Control таким образом:
887
-
888
- get '/' do
889
- cache_control :public
890
- "cache it!"
891
- end
892
-
893
- Совет: задавайте кэширование в +before+-фильтре:
894
-
895
- before do
896
- cache_control :public, :must_revalidate, :max_age => 60
897
- end
898
-
899
- Если вы используете метод +expires+ для задания соответствующего заголовка,
900
- то <tt>Cache-Control</tt> будет выставлен автоматически:
901
-
902
- before do
903
- expires 500, :public, :must_revalidate
904
- end
905
-
906
- Чтобы как следует использовать кэширование, вам следует подумать об использовании
907
- +etag+ и +last_modified+. Рекомендуется использовать эти методы-помощники *до*
908
- выполнения ресурсоемких вычислений, так как они немедленно отправят ответ клиенту,
909
- если текущая версия уже есть в их кэше:
910
-
911
- get '/article/:id' do
912
- @article = Article.find params[:id]
913
- last_modified @article.updated_at
914
- etag @article.sha1
915
- erb :article
916
- end
917
-
918
- Также вы можете использовать
919
- {weak ETag}[http://en.wikipedia.org/wiki/HTTP_ETag#Strong_and_weak_validation]:
920
-
921
- etag @article.sha1, :weak
922
-
923
- Эти методы-помощники не станут ничего кэшировать для вас, но они дадут
924
- необходимую информацию для вашего кэша. Если вы ищите легкое решение для
925
- кэширования, попробуйте {rack-cache}[http://rtomayko.github.com/rack-cache/]:
926
-
927
- require 'rack/cache'
928
- require 'sinatra'
929
-
930
- use Rack::Cache
931
-
932
- get '/' do
933
- cache_control :public, :max_age => 36000
934
- sleep 5
935
- "hello"
936
- end
937
-
938
- Используйте опцию <tt>:static_cache_control</tt> (см. ниже), чтобы
939
- добавить заголовок <tt>Cache-Control</tt> к статическим файлам.
940
-
941
- === Отправка файлов
942
-
943
- Для отправки файлов пользователю вы можете использовать метод <tt>send_file</tt>:
944
-
945
- get '/' do
946
- send_file 'foo.png'
947
- end
948
-
949
- Этот метод имеет несколько опций:
950
-
951
- send_file 'foo.png', :type => :jpg
952
-
953
- Возможные опции:
954
-
955
- [filename]
956
- имя файла, по умолчанию: реальное имя файла.
957
-
958
- [last_modified]
959
- значение для заголовка Last-Modified, по умолчанию: mtime (время изменения) файла.
960
-
961
- [type]
962
- тип файла, по умолчанию: предполагается по расширению файла.
963
-
964
- [disposition]
965
- используется для заголовка Content-Disposition, возможные значения:
966
- +nil+ (по умолчанию), <tt>:attachment</tt> и <tt>:inline</tt>.
967
-
968
- [length]
969
- значения для заголовка Content-Length, по умолчанию: размер файла.
970
-
971
-
972
- Этот метод будет использовать возможности Rack сервера для отправки файлов, если они
973
- доступны, а в противном случае, будет напрямую отдавать файл из Ruby процесса.
974
- Метод <tt>send_file</tt> также обеспечивает автоматическую обработку частичных (range)
975
- запросов с помощью Sinatra.
976
-
977
- === Доступ к объекту запроса
978
-
979
- Объект входящего запроса доступен на уровне обработки запроса (в фильтрах, маршрутах,
980
- обработчиках ошибок) с помощью <tt>request</tt> метода:
981
-
982
- # приложение запущено на http://example.com/example
983
- get '/foo' do
984
- t = %w[text/css text/html application/javascript]
985
- request.accept # ['text/html', '*/*']
986
- request.accept? 'text/xml' # true
987
- request.preferred_type(t) # 'text/html'
988
- request.body # тело запроса, посланное клиентом (см. ниже)
989
- request.scheme # "http"
990
- request.script_name # "/example"
991
- request.path_info # "/foo"
992
- request.port # 80
993
- request.request_method # "GET"
994
- request.query_string # ""
995
- request.content_length # длина тела запроса
996
- request.media_type # медиатип тела запроса
997
- request.host # "example.com"
998
- request.get? # true (есть аналоги для других методов HTTP)
999
- request.form_data? # false
1000
- request["some_param"] # значение параметра some_param. Шорткат для хеша params
1001
- request.referrer # источник запроса клиента либо '/'
1002
- request.user_agent # user agent (используется для :agent условия)
1003
- request.cookies # хеш, содержащий cookies браузера
1004
- request.xhr? # является ли запрос ajax запросом?
1005
- request.url # "http://example.com/example/foo"
1006
- request.path # "/example/foo"
1007
- request.ip # IP-адрес клиента
1008
- request.secure? # false (true, если запрос сделан через SSL)
1009
- request.forwarded? # true (если сервер работает за обратным прокси)
1010
- request.env # "сырой" env хеш, полученный Rack
1011
- end
1012
-
1013
- Некоторые опции, такие как <tt>script_name</tt> или <tt>path_info</tt> доступны для изменения:
1014
-
1015
- before { request.path_info = "/" }
1016
-
1017
- get "/" do
1018
- "all requests end up here"
1019
- end
1020
-
1021
- <tt>request.body</tt> является IO или StringIO объектом:
1022
-
1023
- post "/api" do
1024
- request.body.rewind # в случае, если кто-то уже прочитал тело запроса
1025
- data = JSON.parse request.body.read
1026
- "Hello #{data['name']}!"
1027
- end
1028
-
1029
- === Вложения
1030
-
1031
- Вы можете использовать метод +attachment+, чтобы сказать браузеру, что ответ
1032
- сервера должен быть сохранен на диск, а не отображен:
1033
-
1034
- get '/' do
1035
- attachment
1036
- "store it!"
1037
- end
1038
-
1039
- Вы также можете указать имя файла:
1040
-
1041
- get '/' do
1042
- attachment "info.txt"
1043
- "store it!"
1044
- end
1045
-
1046
- === Поиск шаблонов
1047
-
1048
- Для поиска шаблонов и их последующего рендеринга используется метод <tt>find_template</tt>:
1049
-
1050
- find_template settings.views, 'foo', Tilt[:haml] do |file|
1051
- puts "could be #{file}"
1052
- end
1053
-
1054
- Это не слишком полезный пример. Зато полезен тот факт, что вы можете переопределить
1055
- этот метод, чтобы использовать свой собственный механизм поиска. Например, если вы
1056
- хотите, чтобы можно было использовать несколько директорий с шаблонами:
1057
-
1058
- set :views, ['views', 'templates']
1059
-
1060
- helpers do
1061
- def find_template(views, name, engine, &block)
1062
- Array(views).each { |v| super(v, name, engine, &block) }
1063
- end
1064
- end
1065
-
1066
- Другой пример, в котором используются разные директории для движков рендеринга:
1067
-
1068
- set :views, :sass => 'views/sass', :haml => 'templates', :default => 'views'
1069
-
1070
- helpers do
1071
- def find_template(views, name, engine, &block)
1072
- _, folder = views.detect { |k,v| engine == Tilt[k] }
1073
- folder ||= views[:default]
1074
- super(folder, name, engine, &block)
1075
- end
1076
- end
1077
-
1078
- Вы можете легко вынести этот код в расширение и поделиться им с остальными!
1079
-
1080
- Заметьте, что <tt>find_template</tt> не проверяет, существует ли файл на самом деле,
1081
- а вызывает заданный блок для всех возможных путей. Дело тут не в производительности,
1082
- дело в том, что +render+ вызовет +break+, как только файл не будет найден.
1083
- Содержимое и местонахождение шаблонов будет закэшировано, если приложение запущено не
1084
- в режиме разработки (set :environment, :development). Вы должны помнить об этих нюансах,
1085
- если пишите по-настоящему "сумасшедший" метод.
1086
-
1087
- == Конфигурация
1088
-
1089
- Этот блок исполняется один раз при старте в любом окружении, режиме (environment):
1090
-
1091
- configure do
1092
- # задание одной опции
1093
- set :option, 'value'
1094
-
1095
- # устанавливаем несколько опций
1096
- set :a => 1, :b => 2
1097
-
1098
- # то же самое, что и `set :option, true`
1099
- enable :option
1100
-
1101
- # то же самое, что и `set :option, false`
1102
- disable :option
1103
-
1104
- # у вас могут быть "динамические" опции с блоками
1105
- set(:css_dir) { File.join(views, 'css') }
1106
- end
1107
-
1108
- Будет запущено, когда окружение (RACK_ENV переменная) <tt>:production</tt>:
1109
-
1110
- configure :production do
1111
- ...
1112
- end
1113
-
1114
- Будет запущено, когда окружение <tt>:production</tt> или <tt>:test</tt>:
1115
-
1116
- configure :production, :test do
1117
- ...
1118
- end
1119
-
1120
- Вы можете получить доступ к этим опциям с помощью <tt>settings</tt>:
1121
-
1122
- configure do
1123
- set :foo, 'bar'
1124
- end
1125
-
1126
- get '/' do
1127
- settings.foo? # => true
1128
- settings.foo # => 'bar'
1129
- ...
1130
- end
1131
-
1132
- === Доступные настройки
1133
-
1134
- [absolute_redirects] если отключено, то Sinatra будет позволять использование
1135
- относительных перенаправлений, но при этом перестанет
1136
- соответствовать RFC 2616 (HTTP 1.1), который разрешает только
1137
- абсолютные перенаправления.
1138
-
1139
- Включайте эту опцию, если ваше приложение работает за обратным прокси,
1140
- который настроен не совсем корректно. Обратите внимание, метод +url+
1141
- все равно будет генерировать абсолютные URL, если вы не передадите
1142
- +false+ вторым аргументом.
1143
-
1144
- Отключено по умолчанию.
1145
-
1146
- [add_charsets] mime-типы, к которым метод <tt>content_type</tt> будет автоматически
1147
- добавлять информацию о кодировке.
1148
-
1149
- Вам следует добавлять значения к этой опции вместо ее переопределения:
1150
-
1151
- settings.add_charsets << "application/foobar"
1152
-
1153
- [app_file] главный файл приложения, используется для определения корневой директории
1154
- проекта, директорий с шаблонами и статическими файлами, вложенных шаблонов.
1155
-
1156
- [bind] используемый IP-адрес (по умолчанию: 0.0.0.0). Используется только
1157
- встроенным сервером.
1158
-
1159
- [default_encoding] кодировка, если неизвестна (по умолчанию: <tt>"utf-8"</tt>).
1160
-
1161
- [dump_errors] отображать ошибки в логе.
1162
-
1163
- [environment] текущее окружение, по умолчанию, значение <tt>ENV['RACK_ENV']</tt>
1164
- или <tt>"development"</tt>, если <tt>ENV['RACK_ENV']</tt> не доступна.
1165
-
1166
- [logging] использовать логер.
1167
-
1168
- [lock] создает блокировку для каждого запроса, которая гарантирует обработку
1169
- только одного запроса в текущий момент времени в Ruby процессе.
1170
-
1171
- Включайте, если ваше приложение не потоко-безопасно (thread-safe).
1172
- Отключено по умолчанию.
1173
-
1174
- [method_override] использовать "магический" параметр <tt>_method</tt>, чтобы позволить
1175
- использование PUT/DELETE форм в браузерах, которые не поддерживают
1176
- эти методы.
1177
-
1178
- [port] порт, на котором будет работать сервер. Используется только
1179
- встроенным сервером.
1180
-
1181
- [prefixed_redirects] добавлять или нет параметр <tt>request.script_name</tt> к редиректам,
1182
- если не задан абсолютный путь. Таким образом, <tt>redirect '/foo'</tt>
1183
- будет вести себя как <tt>redirect to('/foo')</tt>. Отключено по умолчанию.
1184
-
1185
- [public_folder] директория, откуда будут раздаваться статические файлы.
1186
-
1187
- [reload_templates] перезагружать или нет шаблоны на каждый запрос.
1188
- Включено в режиме разработки.
1189
-
1190
- [root] корневая директория проекта.
1191
-
1192
- [raise_errors] выбрасывать исключения (будет останавливать приложение).
1193
-
1194
- [run] если включено, Sinatra будет самостоятельно запускать веб-сервер.
1195
- Не включайте, если используете rackup или аналогичные средства.
1196
-
1197
- [running] работает ли сейчас встроенный сервер?
1198
- Не меняйте эту опцию!
1199
-
1200
- [server] сервер или список серверов, которые следует использовать в качестве
1201
- встроенного сервера. По умолчанию: ['thin', 'mongrel', 'webrick'],
1202
- порядок задает приоритет.
1203
-
1204
- [sessions] включить сессии на основе кук (cookie).
1205
-
1206
- [show_exceptions] показывать исключения/стек вызовов (stack trace) в браузере.
1207
-
1208
- [static] должна ли Sinatra осуществлять раздачу статических файлов.
1209
- Отключите, когда используете какой-либо веб-сервер для этой цели.
1210
- Отключение значительно улучшит производительность приложения.
1211
- По умолчанию включено в классических и отключено в модульных
1212
- приложениях.
1213
-
1214
- [static_cache_control] Когда Sinatra отдает статические файлы, используйте эту опцию,
1215
- чтобы добавить им заголовок <tt>Cache-Control</tt>. Для этого
1216
- используется метод-помощник +cache_control+. По умолчанию отключено.
1217
- Используйте массив, когда надо задать несколько значений:
1218
- <tt>set :static_cache_control, [:public, :max_age => 300]</tt>
1219
-
1220
- [views] директория с шаблонами.
1221
-
1222
- == Обработка ошибок
1223
-
1224
- Обработчики ошибок исполняются в том же контексте, что и маршруты, и +before+-фильтры, а это означает, что всякие
1225
- прелести вроде <tt>haml</tt>, <tt>erb</tt>, <tt>halt</tt> и т.д. доступны и им.
1226
-
1227
- === Not Found
1228
-
1229
- Когда выброшено исключение <tt>Sinatra::NotFound</tt>, или кодом ответа является 404,
1230
- то будет вызван <tt>not_found</tt> обработчик:
1231
-
1232
- not_found do
1233
- 'This is nowhere to be found.'
1234
- end
1235
-
1236
- === Ошибки
1237
-
1238
- Обработчик ошибок +error+ будет вызван, когда исключение выброшено из блока маршрута, либо из фильтра.
1239
- Объект-исключение доступен как переменная <tt>sinatra.error</tt> в Rack:
1240
-
1241
- error do
1242
- 'Sorry there was a nasty error - ' + env['sinatra.error'].name
1243
- end
1244
-
1245
- Частные ошибки:
1246
-
1247
- error MyCustomError do
1248
- 'So what happened was...' + env['sinatra.error'].message
1249
- end
1250
-
1251
- Тогда, если это произошло:
1252
-
1253
- get '/' do
1254
- raise MyCustomError, 'something bad'
1255
- end
1256
-
1257
- То вы получите:
1258
-
1259
- So what happened was... something bad
1260
-
1261
- Также вы можете установить обработчик ошибок для кода состояния HTTP:
1262
-
1263
- error 403 do
1264
- 'Access forbidden'
1265
- end
1266
-
1267
- get '/secret' do
1268
- 403
1269
- end
1270
-
1271
- Либо набора кодов:
1272
-
1273
- error 400..510 do
1274
- 'Boom'
1275
- end
1276
-
1277
- Sinatra устанавливает специальные <tt>not_found</tt> и <tt>error</tt> обработчики, когда приложение запущено в режиме
1278
- разработки (окружение <tt>:development</tt>).
1279
-
1280
- == Rack "прослойки"
1281
-
1282
- Sinatra использует Rack[http://rack.rubyforge.org/], минимальный стандартный
1283
- интерфейс для веб-фреймворков на Ruby. Одной из самых интересных для разработчиков возможностей Rack
1284
- является поддержка "прослоек" ("middleware") — компонентов,
1285
- находящихся "между" сервером и вашим приложением, которые отслеживают и/или манипулируют
1286
- HTTP запросами/ответами для предоставления различной функциональности.
1287
-
1288
- В Sinatra очень просто использовать такие "прослойки" с помощью метода +use+:
1289
-
1290
- require 'sinatra'
1291
- require 'my_custom_middleware'
1292
-
1293
- use Rack::Lint
1294
- use MyCustomMiddleware
1295
-
1296
- get '/hello' do
1297
- 'Hello World'
1298
- end
1299
-
1300
- Семантика +use+ идентична той, что определена для
1301
- Rack::Builder[http://rack.rubyforge.org/doc/classes/Rack/Builder.html] DSL
1302
- (чаще всего используется в rackup файлах). Например, метод +use+ принимает
1303
- как множественные переменные, так и блоки:
1304
-
1305
- use Rack::Auth::Basic do |username, password|
1306
- username == 'admin' && password == 'secret'
1307
- end
1308
-
1309
- Rack распространяется с различными стандартными "прослойками"
1310
- для логирования, отладки, маршрутизации URL, аутентификации, обработки сессий. Sinatra использует
1311
- многие из этих компонентов автоматически, основываясь на конфигурации, чтобы вам не приходилось
1312
- подключать (+use+) их вручную.
1313
-
1314
- Вы можете найти полезные прослойки в
1315
- {rack}[https://github.com/rack/rack/tree/master/lib/rack],
1316
- {rack-contrib}[https://github.com/rack/rack-contrib#readme],
1317
- {CodeRack}[http://coderack.org/] или в
1318
- {Rack wiki}[https://github.com/rack/rack/wiki/List-of-Middleware].
1319
-
1320
- == Тестирование
1321
-
1322
- Тесты для Sinatra приложений могут быть написаны с помощью библиотек, фреймворков, поддерживающих
1323
- тестирование Rack. {Rack::Test}[http://rdoc.info/github/brynary/rack-test/master/frames] рекомендован:
1324
-
1325
- require 'my_sinatra_app'
1326
- require 'test/unit'
1327
- require 'rack/test'
1328
-
1329
- class MyAppTest < Test::Unit::TestCase
1330
- include Rack::Test::Methods
1331
-
1332
- def app
1333
- Sinatra::Application
1334
- end
1335
-
1336
- def test_my_default
1337
- get '/'
1338
- assert_equal 'Hello World!', last_response.body
1339
- end
1340
-
1341
- def test_with_params
1342
- get '/meet', :name => 'Frank'
1343
- assert_equal 'Hello Frank!', last_response.body
1344
- end
1345
-
1346
- def test_with_rack_env
1347
- get '/', {}, 'HTTP_USER_AGENT' => 'Songbird'
1348
- assert_equal "You're using Songbird!", last_response.body
1349
- end
1350
- end
1351
-
1352
- == Sinatra::Base — "прослойки", библиотеки и модульные приложения
1353
-
1354
- Описание своего приложения самым простейшим способом (с помощью DSL верхнего уровня,
1355
- как в примерах выше) отлично работает для крохотных приложений. Тем не менее,
1356
- такой метод имеет множество недостатков при создании компонентов, таких как
1357
- Rack middleware ("прослоек"), Rails metal, простых библиотек с серверными компонентами,
1358
- расширений Sinatra.
1359
-
1360
- DSL верхнего уровня "загрязняет" пространство имен <tt>Object</tt> и подразумевает стиль конфигурации
1361
- микро-приложения (например, единый файл приложения, <tt>./public</tt> и
1362
- <tt>./views</tt> директории, логирование, страницу деталей об исключениях
1363
- и т.д.). И тут на помощь приходит <tt>Sinatra::Base</tt>:
1364
-
1365
- require 'sinatra/base'
1366
-
1367
- class MyApp < Sinatra::Base
1368
- set :sessions, true
1369
- set :foo, 'bar'
1370
-
1371
- get '/' do
1372
- 'Hello world!'
1373
- end
1374
- end
1375
-
1376
- Методы, доступные <tt>Sinatra::Base</tt> подклассам идентичны тем, что доступны
1377
- в DSL верхнего уровня. Большинство приложений верхнего уровня могут быть
1378
- конвертированы в <tt>Sinatra::Base</tt> компоненты с помощью двух модификаций:
1379
-
1380
- * Вы должны подключать <tt>sinatra/base</tt> вместо +sinatra+,
1381
- иначе все методы, предоставляемые Sinatra, будут импортированы в глобальное пространство имен.
1382
- * Поместите все маршруты, обработчики ошибок, фильтры и опции в подкласс <tt>Sinatra::Base</tt>.
1383
-
1384
- <tt>Sinatra::Base</tt> — это чистый лист. Большинство опций, включая встроенный сервер, по умолчанию отключены.
1385
- Смотрите {Опции и конфигурация}[http://www.sinatrarb.com/configuration.html] для детальной информации
1386
- об опциях и их поведении.
1387
-
1388
- === Модульные приложения против классических
1389
-
1390
- Вопреки всеобщему убеждению, в классическом стиле (самом простом) нет ничего плохого.
1391
- Если этот стиль подходит вашему приложению, вы не обязаны переписывать его в модульное
1392
- приложение.
1393
-
1394
- У классического стиля есть всего два недостатка относительно модульного:
1395
-
1396
- * У вас может быть только одно приложение Sinatra на один Ruby процесс. Если вы планируете
1397
- использовать больше, то переключайтесь на модульный стиль.
1398
-
1399
- * Приложения, использующие классический стиль, добавляют методы к Object. Если вы
1400
- планируете поставлять свое приложение в виде библиотеки/gem, то переходите
1401
- на модульный стиль.
1402
-
1403
- Не существует причин, по которым вы не могли бы смешивать модульный и классический стили.
1404
-
1405
- Переходя с одного стиля на другой, примите во внимание следующие изменения в настройках:
1406
-
1407
- Опция Классический Модульный
1408
-
1409
- app_file файл с приложением файл с подклассом Sinatra::Base
1410
- run $0 == app_file false
1411
- logging true false
1412
- method_override true false
1413
- inline_templates true false
1414
- static true false
1415
-
1416
-
1417
- === Запуск модульных приложений
1418
-
1419
- Есть два общепринятых способа запускать модульные приложения: запуск напрямую с помощью <tt>run!</tt>:
1420
-
1421
- # my_app.rb
1422
- require 'sinatra/base'
1423
-
1424
- class MyApp < Sinatra::Base
1425
- # ... здесь код приложения ...
1426
-
1427
- # запускаем сервер, если исполняется текущий файл
1428
- run! if app_file == $0
1429
- end
1430
-
1431
- И запускаем с помощью:
1432
-
1433
- ruby my_app.rb
1434
-
1435
- Или с помощью конфигурационного файла <tt>config.ru</tt>, который позволяет использовать любой
1436
- Rack-совместимый сервер приложений.
1437
-
1438
- # config.ru
1439
- require './my_app'
1440
- run MyApp
1441
-
1442
- Запускаем:
1443
-
1444
- rackup -p 4567
1445
-
1446
- === Запуск классических приложений с config.ru
1447
-
1448
- Файл приложения:
1449
-
1450
- # app.rb
1451
- require 'sinatra'
1452
-
1453
- get '/' do
1454
- 'Hello world!'
1455
- end
1456
-
1457
- И соответствующий <tt>config.ru</tt>:
1458
-
1459
- require './app'
1460
- run Sinatra::Application
1461
-
1462
- === Когда использовать config.ru?
1463
-
1464
- Вот несколько причин, по которым вы, возможно, захотите использовать <tt>config.ru</tt>:
1465
-
1466
- * вы хотите разворачивать свое приложение на различных Rack-совместимых серверах (Passenger, Unicorn,
1467
- Heroku, ...);
1468
- * вы хотите использовать более одного подкласса <tt>Sinatra::Base</tt>;
1469
- * вы хотите использовать Sinatra только в качестве "прослойки" Rack.
1470
-
1471
- <b>Совсем необязательно переходить на использование <tt>config.ru</tt> лишь потому, что вы стали
1472
- использовать модульный стиль приложения. И необязательно использовать модульный стиль, чтобы
1473
- запускать приложение с помощью <tt>config.ru</tt>.</b>
1474
-
1475
- === Использование Sinatra в качестве "прослойки"
1476
-
1477
- Не только сама Sinatra может использовать "прослойки" Rack, но и любое Sinatra приложение
1478
- само может быть добавлено к любому Rack endpoint в качестве "прослойки". Этим endpoint (конечной точкой)
1479
- может быть другое Sinatra приложение, или приложение, основанное на Rack (Rails/Ramaze/Camping/...):
1480
-
1481
- require 'sinatra/base'
1482
-
1483
- class LoginScreen < Sinatra::Base
1484
- enable :sessions
1485
-
1486
- get('/login') { haml :login }
1487
-
1488
- post('/login') do
1489
- if params[:name] == 'admin' && params[:password] == 'admin'
1490
- session['user_name'] = params[:name]
1491
- else
1492
- redirect '/login'
1493
- end
1494
- end
1495
- end
1496
-
1497
- class MyApp < Sinatra::Base
1498
- # "прослойка" будет запущена перед фильтрами
1499
- use LoginScreen
1500
-
1501
- before do
1502
- unless session['user_name']
1503
- halt "Access denied, please <a href='/login'>login</a>."
1504
- end
1505
- end
1506
-
1507
- get('/') { "Hello #{session['user_name']}." }
1508
- end
1509
-
1510
- === Создание приложений "на лету"
1511
-
1512
- Иногда требуется создавать Sinatra приложения "на лету" (например,
1513
- из другого приложения). Это возможно с помощью <tt>Sinatra.new</tt>:
1514
-
1515
- require 'sinatra/base'
1516
- my_app = Sinatra.new { get('/') { "hi" } }
1517
- my_app.run!
1518
-
1519
- Этот метод может принимать аргументом приложение, от которого
1520
- следует наследоваться:
1521
-
1522
- # config.ru
1523
- require 'sinatra/base'
1524
-
1525
- controller = Sinatra.new do
1526
- enable :logging
1527
- helpers MyHelpers
1528
- end
1529
-
1530
- map('/a') do
1531
- run Sinatra.new(controller) { get('/') { 'a' } }
1532
- end
1533
-
1534
- map('/b') do
1535
- run Sinatra.new(controller) { get('/') { 'b' } }
1536
- end
1537
-
1538
- Это особенно полезно для тестирования расширений Sinatra и при
1539
- использовании Sinatra внутри вашей библиотеки.
1540
-
1541
- Благодаря этому, использовать Sinatra как "прослойку" очень просто:
1542
-
1543
- require 'sinatra/base'
1544
-
1545
- use Sinatra do
1546
- get('/') { ... }
1547
- end
1548
-
1549
- run RailsProject::Application
1550
-
1551
-
1552
- == Области видимости и привязка
1553
-
1554
- Текущая область видимости определяет методы и переменные, доступные
1555
- в данный момент.
1556
-
1557
- === Область видимости приложения / класса
1558
-
1559
- Любое Sinatra приложение соответствует подклассу <tt>Sinatra::Base</tt>. Если вы
1560
- используете DSL верхнего уровня (<tt>require 'sinatra'</tt>), то этим классом будет
1561
- <tt>Sinatra::Application</tt>, иначе это будет подкласс, который вы создали вручную.
1562
- На уровне класса вам будут доступны такие методы, как +get+ или +before+, но вы
1563
- не сможете получить доступ к объектам +request+ или +session+, так как существует
1564
- только один класс приложения для всех запросов.
1565
-
1566
- Опции, созданные с помощью +set+, являются методами уровня класса:
1567
-
1568
- class MyApp < Sinatra::Base
1569
- # Я в области видимости приложения!
1570
- set :foo, 42
1571
- foo # => 42
1572
-
1573
- get '/foo' do
1574
- # Я больше не в области видимости приложения!
1575
- end
1576
- end
1577
-
1578
- У вас будет область видимости приложения внутри:
1579
-
1580
- * тела вашего класса приложения;
1581
- * методов, определенных расширениями;
1582
- * блока, переданного в +helpers+;
1583
- * блоков, использованных как значения для +set+;
1584
- * блока, переданного в <tt>Sinatra.new</tt>.
1585
-
1586
- Вы можете получить доступ к объекту области видимости (классу приложения) следующими способами:
1587
-
1588
- * через объект, переданный блокам конфигурации (<tt>configure { |c| ... }</tt>);
1589
- * +settings+ внутри области видимости запроса.
1590
-
1591
- === Область видимости запроса/экземпляра
1592
-
1593
- Для каждого входящего запроса будет создан новый экземпляр вашего приложения,
1594
- и все блоки обработчика будут запущены в этом контексте. В этой области
1595
- видимости вам доступны +request+ и +session+ объекты, вызовы методов
1596
- рендеринга, такие как +erb+ или +haml+. Вы можете получить доступ к
1597
- области видимости приложения из контекста запроса, используя метод-помощник +settings+:
1598
-
1599
- class MyApp < Sinatra::Base
1600
- # Я в области видимости приложения!
1601
- get '/define_route/:name' do
1602
- # Область видимости запроса '/define_route/:name'
1603
- @value = 42
1604
-
1605
- settings.get("/#{params[:name]}") do
1606
- # Область видимости запроса "/#{params[:name]}"
1607
- @value # => nil (другой запрос)
1608
- end
1609
-
1610
- "Route defined!"
1611
- end
1612
- end
1613
-
1614
- У вас будет область видимости запроса в:
1615
-
1616
- * get/head/post/put/delete/options блоках;
1617
- * before/after фильтрах;
1618
- * методах-помощниках;
1619
- * шаблонах/отображениях.
1620
-
1621
- === Область видимости делегирования
1622
-
1623
- Область видимости делегирования просто перенаправляет методы в область видимости класса.
1624
- Однако, она не полностью ведет себя как область видимости класса, так как у вас нет
1625
- привязки к классу. Только методы, явно помеченные для делегирования, будут доступны,
1626
- а переменных/состояний области видимости класса не будет (иначе говоря,
1627
- у вас будет другой +self+ объект). Вы можете
1628
- непосредственно добавить методы делегирования, используя
1629
- <tt>Sinatra::Delegator.delegate :method_name</tt>.
1630
-
1631
- У вас будет контекст делегирования внутри:
1632
-
1633
- * привязки верхнего уровня, если вы сделали <tt>require 'sinatra'</tt>;
1634
- * объекта, расширенного с помощью <tt>Sinatra::Delegator</tt>.
1635
-
1636
- Посмотрите сами в код: тут
1637
- {Sinatra::Delegator примесь}[http://github.com/sinatra/sinatra/blob/ceac46f0bc129a6e994a06100aa854f606fe5992/lib/sinatra/base.rb#L1128]
1638
- будет {включена в глобальное пространство имен}[http://github.com/sinatra/sinatra/blob/ceac46f0bc129a6e994a06100aa854f606fe5992/lib/sinatra/main.rb#L28].
1639
-
1640
- == Командная строка
1641
-
1642
- Sinatra приложения могут быть запущены напрямую:
1643
-
1644
- ruby myapp.rb [-h] [-x] [-e ENVIRONMENT] [-p PORT] [-o HOST] [-s HANDLER]
1645
-
1646
- Опции включают:
1647
-
1648
- -h # раздел помощи
1649
- -p # указание порта (по умолчанию 4567)
1650
- -o # указание хоста (по умолчанию 0.0.0.0)
1651
- -e # указание окружения, режима (по умолчанию development)
1652
- -s # указание rack сервера/обработчика (по умолчанию thin)
1653
- -x # включить мьютекс-блокировку (по умолчанию выключена)
1654
-
1655
- == Системные требования
1656
-
1657
- Следующие версии Ruby официально поддерживаются:
1658
-
1659
- [ Ruby 1.8.7 ]
1660
- 1.8.7 полностью поддерживается, тем не менее, если вас ничто не держит на
1661
- этой версии, рекомендуем обновиться до 1.9.2 или перейти на JRuby или Rubinius.
1662
-
1663
- [ Ruby 1.9.2 ]
1664
- 1.9.2 поддерживается и рекомендована к использованию. Заметьте, что Radius и Markaby
1665
- пока несовместимы с 1.9.2. Не используйте 1.9.2p0, известно, что эта
1666
- версия весьма нестабильна при использовании Sinatra.
1667
-
1668
- [ Rubinius ]
1669
- Rubinius официально поддерживается (Rubinius >= 1.2.3), всё, включая все
1670
- языки шаблонов, работает.
1671
-
1672
- [ JRuby ]
1673
- JRuby официально поддерживается (JRuby >= 1.6.1). Нет никаких проблем с
1674
- использованием альтернативных шаблонов. Тем не менее, если вы выбираете
1675
- JRuby, то, пожалуйста, посмотрите на JRuby Rack-сервера, так как Thin не
1676
- поддерживается полностью на JRuby. Поддержка расширений на C в JRuby все
1677
- еще экспериментальная, что на данный момент затрагивает только RDiscount и
1678
- Redcarpet.
1679
-
1680
- <b>Ruby 1.8.6 больше не поддерживается.</b> Если вы хотите запускать свое
1681
- приложение на 1.8.6, откатитесь до Sinatra 1.2, которая будет получать все
1682
- исправления ошибок до тех пор, пока не будет выпущена Sinatra 1.4.0
1683
-
1684
- Мы также следим за предстоящими к выходу версиями Ruby.
1685
-
1686
- Следующие реализации Ruby не поддерживаются официально, но известно, что на
1687
- них запускается Sinatra:
1688
-
1689
- * старые версии JRuby и Rubinius;
1690
- * MacRuby, Maglev, IronRuby;
1691
- * Ruby 1.9.0 и 1.9.1;
1692
- * Ruby 1.8.6 с помощью {backports}[https://github.com/marcandre/backports/#readme].
1693
-
1694
- То, что версия официально не поддерживается, означает, что, если что-то не
1695
- работает на этой версии, а на поддерживаемой работает - это не наша проблема, а их.
1696
-
1697
- Мы также запускаем наши CI-тесты на последней версии Ruby (предстоящей 1.9.3),
1698
- но мы не можем ничего гарантировать, так как она постоянно развивается.
1699
- Предполагается, что 1.9.3p0 будет поддерживаться.
1700
-
1701
- Sinatra должна работать на любой операционной системе, в которой есть одна из указанных выше версий Ruby.
1702
-
1703
- == На острие
1704
-
1705
- Если вы хотите использовать самый последний код Sinatra, не бойтесь запускать
1706
- свое приложение вместе с кодом из master ветки Sinatra, она весьма стабильна.
1707
-
1708
- Мы также время от времени выпускаем предварительные версии, так что вы можете делать так:
1709
-
1710
- gem install sinatra --pre
1711
-
1712
- Чтобы воспользоваться некоторыми самыми последними возможностями.
1713
-
1714
- === С помощью Bundler
1715
-
1716
- Если вы хотите запускать свое приложение с последней версией Sinatra, то
1717
- рекомендуем использовать {Bundler}[http://gembundler.com/].
1718
-
1719
- Сначала установите Bundler, если у вас его еще нет:
1720
-
1721
- gem install bundler
1722
-
1723
- Затем создайте файл +Gemfile+ в директории вашего проекта:
1724
-
1725
- source :rubygems
1726
- gem 'sinatra', :git => "git://github.com/sinatra/sinatra.git"
1727
-
1728
- # другие зависимости
1729
- gem 'haml' # например, если используете haml
1730
- gem 'activerecord', '~> 3.0' # может быть, вам нужен и ActiveRecord 3.x
1731
-
1732
- Обратите внимание, вам нужно будет указывать все зависимости вашего приложения
1733
- в этом файле. Однако, непосредственные зависимости Sinatra (Rack и Tilt) Bundler
1734
- автоматически скачает и добавит.
1735
-
1736
- Теперь вы можете запускать свое приложение так:
1737
-
1738
- bundle exec ruby myapp.rb
1739
-
1740
- === Вручную
1741
-
1742
- Создайте локальный клон репозитория и запускайте свое приложение с <tt>sinatra/lib</tt>
1743
- директорией в <tt>$LOAD_PATH</tt>:
1744
-
1745
- cd myapp
1746
- git clone git://github.com/sinatra/sinatra.git
1747
- ruby -Isinatra/lib myapp.rb
1748
-
1749
- Чтобы обновить исходники Sinatra:
1750
-
1751
- cd myapp/sinatra
1752
- git pull
1753
-
1754
- === Установка глобально
1755
-
1756
- Вы можете самостоятельно собрать gem:
1757
-
1758
- git clone git://github.com/sinatra/sinatra.git
1759
- cd sinatra
1760
- rake sinatra.gemspec
1761
- rake install
1762
-
1763
- Если вы устанавливаете пакеты (gem) от пользователя root, то вашим следующим шагом должна быть команда
1764
-
1765
- sudo rake install
1766
-
1767
- == Версии
1768
-
1769
- Sinatra использует {Semantic Versioning}[http://semver.org/], SemVer и
1770
- SemVerTag.
1771
-
1772
- == Дальнейшее чтение
1773
-
1774
- * {Веб-сайт проекта}[http://www.sinatrarb.com/] - Дополнительная документация,
1775
- новости и ссылки на другие ресурсы.
1776
- * {Участие в проекте}[http://www.sinatrarb.com/contributing] - Обнаружили баг? Нужна помощь? Написали патч?
1777
- * {Слежение за проблемами/ошибками}[http://github.com/sinatra/sinatra/issues]
1778
- * {Twitter}[http://twitter.com/sinatra]
1779
- * {Группы рассылки}[http://groups.google.com/group/sinatrarb/topics]
1780
- * {IRC: #sinatra}[irc://chat.freenode.net/#sinatra] на http://freenode.net
1781
- * {Sinatra Book}[http://sinatra-book.gittr.com] учебник и сборник рецептов
1782
- * {Sinatra Recipes}[http://recipes.sinatrarb.com/] сборник рецептов
1783
- * API документация к {последнему релизу}[http://rubydoc.info/gems/sinatra]
1784
- или {текущему HEAD}[http://rubydoc.info/github/sinatra/sinatra] на
1785
- http://rubydoc.info