torquebox-console 0.2.5 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1091) hide show
  1. data/console.rb +7 -0
  2. data/dependencies.rb +7 -7
  3. data/lib/torquebox/console/client.rb +5 -1
  4. data/lib/torquebox/console/version.rb +1 -1
  5. data/public/console.js +22 -12
  6. data/stomplets/torque_box_console.rb +19 -6
  7. data/views/index.haml +8 -3
  8. metadata +1424 -2690
  9. data/vendor/bundle/ruby/1.8/bin/catstomp +0 -23
  10. data/vendor/bundle/ruby/1.8/bin/haml +0 -23
  11. data/vendor/bundle/ruby/1.8/bin/html2haml +0 -23
  12. data/vendor/bundle/ruby/1.8/bin/rackup +0 -23
  13. data/vendor/bundle/ruby/1.8/bin/rake +0 -23
  14. data/vendor/bundle/ruby/1.8/bin/rake2thor +0 -23
  15. data/vendor/bundle/ruby/1.8/bin/stompcat +0 -23
  16. data/vendor/bundle/ruby/1.8/bin/thor +0 -23
  17. data/vendor/bundle/ruby/1.8/bin/tilt +0 -23
  18. data/vendor/bundle/ruby/1.8/cache/haml-3.1.8.gem +0 -0
  19. data/vendor/bundle/ruby/1.8/cache/rack-1.5.2.gem +0 -0
  20. data/vendor/bundle/ruby/1.8/cache/rack-protection-1.4.0.gem +0 -0
  21. data/vendor/bundle/ruby/1.8/cache/rake-10.0.3.gem +0 -0
  22. data/vendor/bundle/ruby/1.8/cache/sinatra-1.3.5.gem +0 -0
  23. data/vendor/bundle/ruby/1.8/cache/stomp-1.2.8.gem +0 -0
  24. data/vendor/bundle/ruby/1.8/cache/thor-0.17.0.gem +0 -0
  25. data/vendor/bundle/ruby/1.8/cache/tilt-1.3.4.gem +0 -0
  26. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/CONTRIBUTING +0 -3
  27. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/MIT-LICENSE +0 -20
  28. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/README.md +0 -133
  29. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/REVISION +0 -1
  30. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/Rakefile +0 -419
  31. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/VERSION +0 -1
  32. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/VERSION_NAME +0 -1
  33. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/bin/haml +0 -9
  34. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/bin/html2haml +0 -7
  35. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/extra/update_watch.rb +0 -13
  36. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/init.rb +0 -18
  37. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml.rb +0 -47
  38. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/buffer.rb +0 -301
  39. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/compiler.rb +0 -453
  40. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/engine.rb +0 -312
  41. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/error.rb +0 -22
  42. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/exec.rb +0 -362
  43. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/filters.rb +0 -385
  44. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/helpers.rb +0 -608
  45. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/helpers/action_view_extensions.rb +0 -57
  46. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/helpers/action_view_mods.rb +0 -260
  47. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/helpers/rails_323_textarea_fix.rb +0 -41
  48. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/helpers/xss_mods.rb +0 -165
  49. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/html.rb +0 -412
  50. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/html/erb.rb +0 -141
  51. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/parser.rb +0 -711
  52. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/railtie.rb +0 -19
  53. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/root.rb +0 -7
  54. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/shared.rb +0 -78
  55. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/template.rb +0 -99
  56. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/template/options.rb +0 -16
  57. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/template/patch.rb +0 -58
  58. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/template/plugin.rb +0 -123
  59. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/util.rb +0 -842
  60. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/haml/version.rb +0 -109
  61. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/sass.rb +0 -8
  62. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/sass/plugin.rb +0 -10
  63. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/sass/rails2_shim.rb +0 -9
  64. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/lib/sass/rails3_shim.rb +0 -16
  65. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/rails/init.rb +0 -1
  66. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/benchmark.rb +0 -91
  67. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-2.0.x +0 -8
  68. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-2.0.x.lock +0 -38
  69. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-2.1.x +0 -8
  70. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-2.1.x.lock +0 -38
  71. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-2.2.x +0 -8
  72. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-2.2.x.lock +0 -38
  73. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-2.3.x +0 -8
  74. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-2.3.x.lock +0 -40
  75. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-3.0.x +0 -8
  76. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-3.0.x.lock +0 -85
  77. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-3.1.x +0 -8
  78. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-3.1.x.lock +0 -97
  79. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-3.2.x +0 -8
  80. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-3.2.x.lock +0 -95
  81. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-xss-2.3.x +0 -9
  82. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/gemfiles/Gemfile.rails-xss-2.3.x.lock +0 -42
  83. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/engine_test.rb +0 -1950
  84. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/erb/_av_partial_1.erb +0 -12
  85. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/erb/_av_partial_2.erb +0 -8
  86. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/erb/action_view.erb +0 -62
  87. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/erb/standard.erb +0 -55
  88. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/helper_test.rb +0 -467
  89. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/html2haml/erb_tests.rb +0 -440
  90. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/html2haml_test.rb +0 -336
  91. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/markaby/standard.mab +0 -52
  92. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/mocks/article.rb +0 -6
  93. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/content_for_layout.xhtml +0 -12
  94. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/eval_suppressed.xhtml +0 -9
  95. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/filters.xhtml +0 -62
  96. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/helpers.xhtml +0 -70
  97. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/helpful.xhtml +0 -10
  98. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/just_stuff.xhtml +0 -70
  99. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/list.xhtml +0 -12
  100. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/nuke_inner_whitespace.xhtml +0 -40
  101. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/nuke_outer_whitespace.xhtml +0 -148
  102. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/original_engine.xhtml +0 -20
  103. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/partial_layout.xhtml +0 -5
  104. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/partials.xhtml +0 -21
  105. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/render_layout.xhtml +0 -3
  106. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/silent_script.xhtml +0 -74
  107. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/standard.xhtml +0 -162
  108. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/tag_parsing.xhtml +0 -23
  109. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/very_basic.xhtml +0 -5
  110. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/results/whitespace_handling.xhtml +0 -85
  111. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/spec/README.md +0 -97
  112. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/spec/lua_haml_spec.lua +0 -30
  113. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/spec/ruby_haml_test.rb +0 -19
  114. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/spec/tests.json +0 -534
  115. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/spec_test.rb +0 -44
  116. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/template_test.rb +0 -443
  117. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/_av_partial_1.haml +0 -9
  118. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/_av_partial_1_ugly.haml +0 -9
  119. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/_av_partial_2.haml +0 -5
  120. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/_av_partial_2_ugly.haml +0 -5
  121. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/_layout.erb +0 -3
  122. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/_layout_for_partial.haml +0 -3
  123. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/_partial.haml +0 -8
  124. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/_text_area.haml +0 -3
  125. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/action_view.haml +0 -47
  126. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/action_view_ugly.haml +0 -47
  127. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/breakage.haml +0 -8
  128. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/content_for_layout.haml +0 -8
  129. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/eval_suppressed.haml +0 -11
  130. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/filters.haml +0 -66
  131. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/helpers.haml +0 -55
  132. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/helpful.haml +0 -11
  133. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/just_stuff.haml +0 -85
  134. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/list.haml +0 -12
  135. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/nuke_inner_whitespace.haml +0 -32
  136. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/nuke_outer_whitespace.haml +0 -144
  137. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/original_engine.haml +0 -17
  138. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/partial_layout.haml +0 -10
  139. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/partialize.haml +0 -1
  140. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/partials.haml +0 -12
  141. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/render_layout.haml +0 -2
  142. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/silent_script.haml +0 -40
  143. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/standard.haml +0 -43
  144. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/standard_ugly.haml +0 -43
  145. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/tag_parsing.haml +0 -21
  146. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/very_basic.haml +0 -4
  147. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/templates/whitespace_handling.haml +0 -87
  148. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/haml/util_test.rb +0 -300
  149. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/linked_rails.rb +0 -42
  150. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/test/test_helper.rb +0 -75
  151. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/CONTRIBUTING +0 -3
  152. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/MIT-LICENSE +0 -20
  153. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/README.md +0 -201
  154. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/Rakefile +0 -339
  155. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/TODO +0 -39
  156. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/VERSION +0 -1
  157. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/VERSION_NAME +0 -1
  158. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/bin/sass +0 -8
  159. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/bin/sass-convert +0 -7
  160. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/bin/scss +0 -8
  161. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/doc-src/FAQ.md +0 -35
  162. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/doc-src/INDENTED_SYNTAX.md +0 -210
  163. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/doc-src/SASS_CHANGELOG.md +0 -2327
  164. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/doc-src/SASS_REFERENCE.md +0 -1965
  165. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/doc-src/SCSS_FOR_SASS_USERS.md +0 -155
  166. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/ext/extconf.rb +0 -10
  167. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/extra/update_watch.rb +0 -13
  168. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/init.rb +0 -18
  169. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass.rb +0 -73
  170. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/cache_stores.rb +0 -15
  171. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/cache_stores/base.rb +0 -86
  172. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/cache_stores/chain.rb +0 -33
  173. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/cache_stores/filesystem.rb +0 -60
  174. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/cache_stores/memory.rb +0 -47
  175. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/cache_stores/null.rb +0 -25
  176. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/callbacks.rb +0 -66
  177. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/css.rb +0 -295
  178. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/engine.rb +0 -878
  179. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/environment.rb +0 -166
  180. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/error.rb +0 -201
  181. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/exec.rb +0 -672
  182. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/importers.rb +0 -22
  183. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/importers/base.rb +0 -139
  184. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/importers/filesystem.rb +0 -149
  185. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/less.rb +0 -382
  186. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/logger.rb +0 -15
  187. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/logger/base.rb +0 -32
  188. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/logger/log_level.rb +0 -49
  189. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/plugin.rb +0 -132
  190. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/plugin/compiler.rb +0 -383
  191. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/plugin/configuration.rb +0 -123
  192. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/plugin/generic.rb +0 -15
  193. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/plugin/merb.rb +0 -48
  194. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/plugin/rack.rb +0 -60
  195. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/plugin/rails.rb +0 -47
  196. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/plugin/staleness_checker.rb +0 -173
  197. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/railtie.rb +0 -9
  198. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/repl.rb +0 -58
  199. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/root.rb +0 -7
  200. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script.rb +0 -40
  201. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/bool.rb +0 -18
  202. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/color.rb +0 -480
  203. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/css_lexer.rb +0 -29
  204. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/css_parser.rb +0 -31
  205. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/funcall.rb +0 -175
  206. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/functions.rb +0 -1386
  207. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/interpolation.rb +0 -79
  208. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/lexer.rb +0 -339
  209. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/list.rb +0 -83
  210. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/literal.rb +0 -250
  211. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/node.rb +0 -99
  212. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/number.rb +0 -452
  213. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/operation.rb +0 -99
  214. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/parser.rb +0 -474
  215. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/string.rb +0 -51
  216. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/string_interpolation.rb +0 -103
  217. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/unary_operation.rb +0 -64
  218. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/script/variable.rb +0 -59
  219. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/scss.rb +0 -17
  220. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/scss/css_parser.rb +0 -46
  221. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/scss/parser.rb +0 -960
  222. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/scss/rx.rb +0 -128
  223. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/scss/sass_parser.rb +0 -11
  224. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/scss/script_lexer.rb +0 -15
  225. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/scss/script_parser.rb +0 -25
  226. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/scss/static_parser.rb +0 -40
  227. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/selector.rb +0 -361
  228. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/selector/abstract_sequence.rb +0 -62
  229. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/selector/comma_sequence.rb +0 -81
  230. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/selector/sequence.rb +0 -233
  231. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/selector/simple.rb +0 -113
  232. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/selector/simple_sequence.rb +0 -134
  233. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/shared.rb +0 -78
  234. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/charset_node.rb +0 -22
  235. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/comment_node.rb +0 -90
  236. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/debug_node.rb +0 -18
  237. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/directive_node.rb +0 -23
  238. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/each_node.rb +0 -24
  239. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/extend_node.rb +0 -29
  240. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/for_node.rb +0 -36
  241. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/function_node.rb +0 -27
  242. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/if_node.rb +0 -52
  243. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/import_node.rb +0 -68
  244. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/media_node.rb +0 -32
  245. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/mixin_def_node.rb +0 -27
  246. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/mixin_node.rb +0 -32
  247. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/node.rb +0 -201
  248. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/prop_node.rb +0 -148
  249. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/return_node.rb +0 -18
  250. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/root_node.rb +0 -28
  251. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/rule_node.rb +0 -136
  252. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/variable_node.rb +0 -30
  253. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/visitors/base.rb +0 -75
  254. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/visitors/check_nesting.rb +0 -133
  255. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/visitors/convert.rb +0 -260
  256. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/visitors/cssize.rb +0 -175
  257. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/visitors/deep_copy.rb +0 -87
  258. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/visitors/perform.rb +0 -332
  259. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/visitors/set_options.rb +0 -97
  260. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/visitors/to_css.rb +0 -210
  261. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/warn_node.rb +0 -18
  262. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/tree/while_node.rb +0 -18
  263. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/util.rb +0 -721
  264. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/util/subset_map.rb +0 -101
  265. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/lib/sass/version.rb +0 -112
  266. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/rails/init.rb +0 -1
  267. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/sass.gemspec +0 -33
  268. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/Gemfile +0 -4
  269. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/Gemfile.lock +0 -19
  270. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/cache_test.rb +0 -89
  271. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/callbacks_test.rb +0 -61
  272. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/conversion_test.rb +0 -1199
  273. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/css2sass_test.rb +0 -373
  274. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/data/hsl-rgb.txt +0 -319
  275. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/engine_test.rb +0 -2567
  276. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/extend_test.rb +0 -1348
  277. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.css +0 -1
  278. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.scss +0 -1
  279. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/functions_test.rb +0 -1038
  280. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/importer_test.rb +0 -192
  281. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/less_conversion_test.rb +0 -653
  282. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/logger_test.rb +0 -58
  283. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/mock_importer.rb +0 -49
  284. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/more_results/more1.css +0 -9
  285. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/more_results/more1_with_line_comments.css +0 -26
  286. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/more_results/more_import.css +0 -29
  287. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/more_templates/_more_partial.sass +0 -2
  288. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/more_templates/more1.sass +0 -23
  289. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/more_templates/more_import.sass +0 -11
  290. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/plugin_test.rb +0 -472
  291. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/alt.css +0 -4
  292. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/basic.css +0 -9
  293. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/compact.css +0 -5
  294. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/complex.css +0 -86
  295. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/compressed.css +0 -1
  296. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/expanded.css +0 -19
  297. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/if.css +0 -3
  298. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/import.css +0 -31
  299. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/import_charset.css +0 -4
  300. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/import_charset_1_8.css +0 -4
  301. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/import_charset_ibm866.css +0 -4
  302. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/line_numbers.css +0 -49
  303. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/mixins.css +0 -95
  304. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/multiline.css +0 -24
  305. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/nested.css +0 -22
  306. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/options.css +0 -1
  307. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/parent_ref.css +0 -13
  308. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/script.css +0 -16
  309. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/scss_import.css +0 -31
  310. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/scss_importee.css +0 -2
  311. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
  312. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/subdir/subdir.css +0 -3
  313. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/units.css +0 -11
  314. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/warn.css +0 -0
  315. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/results/warn_imported.css +0 -0
  316. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/script_conversion_test.rb +0 -285
  317. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/script_test.rb +0 -514
  318. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/scss/css_test.rb +0 -922
  319. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/scss/rx_test.rb +0 -156
  320. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/scss/scss_test.rb +0 -1273
  321. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/scss/test_helper.rb +0 -37
  322. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/_imported_charset_ibm866.sass +0 -4
  323. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/_imported_charset_utf8.sass +0 -4
  324. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/_partial.sass +0 -2
  325. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/alt.sass +0 -16
  326. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/basic.sass +0 -23
  327. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/bork1.sass +0 -2
  328. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/bork2.sass +0 -2
  329. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/bork3.sass +0 -2
  330. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/bork4.sass +0 -2
  331. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/bork5.sass +0 -3
  332. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/compact.sass +0 -17
  333. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/complex.sass +0 -305
  334. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/compressed.sass +0 -15
  335. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/expanded.sass +0 -17
  336. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/if.sass +0 -11
  337. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/import.sass +0 -12
  338. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/import_charset.sass +0 -7
  339. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/import_charset_1_8.sass +0 -4
  340. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/import_charset_ibm866.sass +0 -9
  341. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/importee.less +0 -2
  342. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/importee.sass +0 -19
  343. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/line_numbers.sass +0 -13
  344. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/mixin_bork.sass +0 -5
  345. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/mixins.sass +0 -76
  346. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/multiline.sass +0 -20
  347. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/nested.sass +0 -25
  348. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/nested_bork1.sass +0 -2
  349. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/nested_bork2.sass +0 -2
  350. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/nested_bork3.sass +0 -2
  351. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/nested_bork4.sass +0 -2
  352. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/nested_bork5.sass +0 -2
  353. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/nested_import.sass +0 -2
  354. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/nested_mixin_bork.sass +0 -6
  355. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/options.sass +0 -2
  356. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/parent_ref.sass +0 -25
  357. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/script.sass +0 -101
  358. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/scss_import.scss +0 -11
  359. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/scss_importee.scss +0 -1
  360. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
  361. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
  362. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/subdir/subdir.sass +0 -6
  363. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/units.sass +0 -11
  364. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/warn.sass +0 -3
  365. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/templates/warn_imported.sass +0 -4
  366. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/test_helper.rb +0 -8
  367. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/util/subset_map_test.rb +0 -91
  368. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/sass/util_test.rb +0 -266
  369. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/test/test_helper.rb +0 -69
  370. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/Gemfile +0 -3
  371. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/LICENSE +0 -20
  372. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/README.markdown +0 -83
  373. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/Rakefile +0 -11
  374. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/example.rb +0 -12
  375. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/fssm.gemspec +0 -24
  376. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm.rb +0 -37
  377. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/backends/fsevents.rb +0 -36
  378. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/backends/inotify.rb +0 -26
  379. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/backends/polling.rb +0 -25
  380. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/backends/rbfsevent.rb +0 -42
  381. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/backends/rubycocoa/fsevents.rb +0 -131
  382. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/monitor.rb +0 -36
  383. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/path.rb +0 -94
  384. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/pathname.rb +0 -36
  385. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/state/directory.rb +0 -75
  386. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/state/file.rb +0 -24
  387. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/support.rb +0 -92
  388. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/tree.rb +0 -176
  389. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/lib/fssm/version.rb +0 -3
  390. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/profile/prof-cache.rb +0 -40
  391. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/profile/prof-fssm-pathname.html +0 -1231
  392. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/profile/prof-pathname-rubinius.rb +0 -35
  393. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/profile/prof-pathname.rb +0 -68
  394. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/profile/prof-plain-pathname.html +0 -988
  395. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/profile/prof.html +0 -2379
  396. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/count_down_latch.rb +0 -151
  397. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/monitor_spec.rb +0 -202
  398. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/path_spec.rb +0 -96
  399. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/root/duck/quack.txt +0 -0
  400. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/root/file.css +0 -0
  401. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/root/file.rb +0 -0
  402. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/root/file.yml +0 -0
  403. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/root/moo/cow.txt +0 -0
  404. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/vendor/fssm/spec/spec_helper.rb +0 -14
  405. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/yard/callbacks.rb +0 -29
  406. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/yard/default/fulldoc/html/css/common.sass +0 -26
  407. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/yard/default/layout/html/footer.erb +0 -12
  408. data/vendor/bundle/ruby/1.8/gems/haml-3.1.8/vendor/sass/yard/inherited_hash.rb +0 -41
  409. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/COPYING +0 -18
  410. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/KNOWN-ISSUES +0 -30
  411. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/README.rdoc +0 -624
  412. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/Rakefile +0 -125
  413. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/SPEC +0 -237
  414. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/bin/rackup +0 -4
  415. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/contrib/rack.png +0 -0
  416. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/contrib/rack.svg +0 -150
  417. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/contrib/rack_logo.svg +0 -111
  418. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/contrib/rdoc.css +0 -412
  419. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/example/lobster.ru +0 -4
  420. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/example/protectedlobster.rb +0 -14
  421. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/example/protectedlobster.ru +0 -8
  422. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack.rb +0 -87
  423. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/auth/abstract/handler.rb +0 -37
  424. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/auth/abstract/request.rb +0 -43
  425. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/auth/basic.rb +0 -58
  426. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/auth/digest/md5.rb +0 -129
  427. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/auth/digest/nonce.rb +0 -51
  428. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/auth/digest/params.rb +0 -53
  429. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/auth/digest/request.rb +0 -41
  430. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/backports/uri/common_18.rb +0 -56
  431. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/backports/uri/common_192.rb +0 -52
  432. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/backports/uri/common_193.rb +0 -29
  433. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/body_proxy.rb +0 -39
  434. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/builder.rb +0 -149
  435. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/cascade.rb +0 -52
  436. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/chunked.rb +0 -58
  437. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/commonlogger.rb +0 -64
  438. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/conditionalget.rb +0 -67
  439. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/config.rb +0 -20
  440. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/content_length.rb +0 -33
  441. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/content_type.rb +0 -29
  442. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/deflater.rb +0 -116
  443. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/directory.rb +0 -161
  444. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/etag.rb +0 -64
  445. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/file.rb +0 -138
  446. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler.rb +0 -107
  447. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/cgi.rb +0 -61
  448. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/evented_mongrel.rb +0 -8
  449. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/fastcgi.rb +0 -98
  450. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/lsws.rb +0 -61
  451. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/mongrel.rb +0 -100
  452. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/scgi.rb +0 -67
  453. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/swiftiplied_mongrel.rb +0 -8
  454. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/thin.rb +0 -27
  455. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/handler/webrick.rb +0 -81
  456. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/head.rb +0 -22
  457. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/lint.rb +0 -699
  458. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/lobster.rb +0 -65
  459. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/lock.rb +0 -26
  460. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/logger.rb +0 -18
  461. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/methodoverride.rb +0 -31
  462. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/mime.rb +0 -677
  463. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/mock.rb +0 -190
  464. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/multipart.rb +0 -34
  465. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/multipart/generator.rb +0 -93
  466. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/multipart/parser.rb +0 -176
  467. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/multipart/uploaded_file.rb +0 -34
  468. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/nulllogger.rb +0 -18
  469. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/recursive.rb +0 -61
  470. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/reloader.rb +0 -109
  471. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/request.rb +0 -380
  472. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/response.rb +0 -155
  473. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/rewindable_input.rb +0 -104
  474. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/runtime.rb +0 -27
  475. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/sendfile.rb +0 -155
  476. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/server.rb +0 -362
  477. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/session/abstract/id.rb +0 -398
  478. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/session/cookie.rb +0 -178
  479. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/session/memcache.rb +0 -93
  480. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/session/pool.rb +0 -79
  481. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/showexceptions.rb +0 -378
  482. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/showstatus.rb +0 -113
  483. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/static.rb +0 -153
  484. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/urlmap.rb +0 -76
  485. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/utils.rb +0 -628
  486. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/lib/rack/utils/okjson.rb +0 -599
  487. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/rack.gemspec +0 -33
  488. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/builder/anything.rb +0 -5
  489. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/builder/comment.ru +0 -4
  490. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/builder/end.ru +0 -5
  491. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/builder/line.ru +0 -1
  492. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/builder/options.ru +0 -2
  493. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/assets/folder/test.js +0 -1
  494. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/assets/fonts/font.eot +0 -1
  495. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/assets/images/image.png +0 -1
  496. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/assets/index.html +0 -1
  497. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/assets/javascripts/app.js +0 -1
  498. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/assets/stylesheets/app.css +0 -1
  499. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/lighttpd.conf +0 -26
  500. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/rackup_stub.rb +0 -6
  501. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/sample_rackup.ru +0 -5
  502. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/test +0 -9
  503. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/test+directory/test+file +0 -1
  504. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/test.fcgi +0 -8
  505. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/cgi/test.ru +0 -5
  506. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/gemloader.rb +0 -10
  507. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/bad_robots +0 -259
  508. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/binary +0 -0
  509. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/content_type_and_no_filename +0 -6
  510. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/empty +0 -10
  511. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/fail_16384_nofile +0 -814
  512. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/file1.txt +0 -1
  513. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/filename_and_modification_param +0 -7
  514. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/filename_with_escaped_quotes +0 -6
  515. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/filename_with_escaped_quotes_and_modification_param +0 -7
  516. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/filename_with_percent_escaped_quotes +0 -6
  517. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/filename_with_unescaped_percentages +0 -6
  518. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/filename_with_unescaped_percentages2 +0 -6
  519. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/filename_with_unescaped_percentages3 +0 -6
  520. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/filename_with_unescaped_quotes +0 -6
  521. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/ie +0 -6
  522. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/mixed_files +0 -21
  523. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/nested +0 -10
  524. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/none +0 -9
  525. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/semicolon +0 -6
  526. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/text +0 -15
  527. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/multipart/webkit +0 -32
  528. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/rackup/config.ru +0 -31
  529. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/registering_handler/rack/handler/registering_myself.rb +0 -8
  530. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_auth_basic.rb +0 -81
  531. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_auth_digest.rb +0 -259
  532. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_body_proxy.rb +0 -69
  533. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_builder.rb +0 -214
  534. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_cascade.rb +0 -61
  535. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_cgi.rb +0 -102
  536. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_chunked.rb +0 -85
  537. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_commonlogger.rb +0 -57
  538. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_conditionalget.rb +0 -102
  539. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_config.rb +0 -22
  540. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_content_length.rb +0 -83
  541. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_content_type.rb +0 -45
  542. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_deflater.rb +0 -204
  543. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_directory.rb +0 -88
  544. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_etag.rb +0 -98
  545. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_fastcgi.rb +0 -107
  546. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_file.rb +0 -213
  547. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_handler.rb +0 -59
  548. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_head.rb +0 -43
  549. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_lint.rb +0 -522
  550. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_lobster.rb +0 -58
  551. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_lock.rb +0 -164
  552. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_logger.rb +0 -23
  553. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_methodoverride.rb +0 -75
  554. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_mime.rb +0 -51
  555. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_mock.rb +0 -269
  556. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_mongrel.rb +0 -182
  557. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_multipart.rb +0 -445
  558. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_nulllogger.rb +0 -20
  559. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_recursive.rb +0 -72
  560. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_request.rb +0 -1078
  561. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_response.rb +0 -313
  562. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_rewindable_input.rb +0 -118
  563. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_runtime.rb +0 -49
  564. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_sendfile.rb +0 -130
  565. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_server.rb +0 -143
  566. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_session_abstract_id.rb +0 -53
  567. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_session_cookie.rb +0 -367
  568. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_session_memcache.rb +0 -321
  569. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_session_pool.rb +0 -209
  570. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_showexceptions.rb +0 -92
  571. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_showstatus.rb +0 -84
  572. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_static.rb +0 -145
  573. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_thin.rb +0 -91
  574. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_urlmap.rb +0 -213
  575. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_utils.rb +0 -573
  576. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/spec_webrick.rb +0 -143
  577. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/static/another/index.html +0 -1
  578. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/static/index.html +0 -1
  579. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/testrequest.rb +0 -78
  580. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/unregistered_handler/rack/handler/unregistered.rb +0 -7
  581. data/vendor/bundle/ruby/1.8/gems/rack-1.5.2/test/unregistered_handler/rack/handler/unregistered_long_one.rb +0 -7
  582. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/License +0 -20
  583. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/README.md +0 -82
  584. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/Rakefile +0 -48
  585. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack-protection.rb +0 -1
  586. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection.rb +0 -40
  587. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/authenticity_token.rb +0 -24
  588. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/base.rb +0 -107
  589. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/escaped_params.rb +0 -87
  590. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/form_token.rb +0 -23
  591. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/frame_options.rb +0 -37
  592. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/http_origin.rb +0 -32
  593. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/ip_spoofing.rb +0 -23
  594. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/json_csrf.rb +0 -35
  595. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/path_traversal.rb +0 -36
  596. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/remote_referrer.rb +0 -20
  597. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/remote_token.rb +0 -22
  598. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/session_hijacking.rb +0 -36
  599. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/version.rb +0 -16
  600. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/lib/rack/protection/xss_header.rb +0 -25
  601. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/rack-protection.gemspec +0 -92
  602. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/authenticity_token_spec.rb +0 -33
  603. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/escaped_params_spec.rb +0 -44
  604. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/form_token_spec.rb +0 -33
  605. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/frame_options_spec.rb +0 -39
  606. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/http_origin_spec.rb +0 -38
  607. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/ip_spoofing_spec.rb +0 -35
  608. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/json_csrf_spec.rb +0 -44
  609. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/path_traversal_spec.rb +0 -28
  610. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/protection_spec.rb +0 -37
  611. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/remote_referrer_spec.rb +0 -31
  612. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/remote_token_spec.rb +0 -42
  613. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/session_hijacking_spec.rb +0 -54
  614. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/spec_helper.rb +0 -163
  615. data/vendor/bundle/ruby/1.8/gems/rack-protection-1.4.0/spec/xss_header_spec.rb +0 -56
  616. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/CHANGES +0 -526
  617. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/MIT-LICENSE +0 -21
  618. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/README.rdoc +0 -187
  619. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/Rakefile +0 -374
  620. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/TODO +0 -21
  621. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/bin/rake +0 -33
  622. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/command_line_usage.rdoc +0 -152
  623. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/example/Rakefile1 +0 -38
  624. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/example/Rakefile2 +0 -35
  625. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/example/a.c +0 -6
  626. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/example/b.c +0 -6
  627. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/example/main.c +0 -11
  628. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/glossary.rdoc +0 -51
  629. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/jamis.rb +0 -591
  630. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/proto_rake.rdoc +0 -127
  631. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/rake.1.gz +0 -0
  632. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/rakefile.rdoc +0 -557
  633. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/rational.rdoc +0 -151
  634. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.4.14.rdoc +0 -23
  635. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.4.15.rdoc +0 -35
  636. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.5.0.rdoc +0 -53
  637. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.5.3.rdoc +0 -78
  638. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.5.4.rdoc +0 -46
  639. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.6.0.rdoc +0 -141
  640. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.7.0.rdoc +0 -119
  641. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.7.1.rdoc +0 -59
  642. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.7.2.rdoc +0 -121
  643. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.7.3.rdoc +0 -47
  644. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.8.0.rdoc +0 -114
  645. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.8.2.rdoc +0 -165
  646. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.8.3.rdoc +0 -112
  647. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.8.4.rdoc +0 -147
  648. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.8.5.rdoc +0 -53
  649. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.8.6.rdoc +0 -55
  650. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.8.7.rdoc +0 -55
  651. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.9.0.rdoc +0 -112
  652. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.9.1.rdoc +0 -52
  653. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
  654. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.9.2.rdoc +0 -49
  655. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.9.3.rdoc +0 -102
  656. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.9.4.rdoc +0 -110
  657. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.9.5.rdoc +0 -114
  658. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-0.9.6.rdoc +0 -127
  659. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-10.0.0.rdoc +0 -178
  660. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-10.0.1.rdoc +0 -187
  661. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-10.0.2.rdoc +0 -191
  662. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/doc/release_notes/rake-10.0.3.rdoc +0 -191
  663. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/install.rb +0 -90
  664. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake.rb +0 -71
  665. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/alt_system.rb +0 -109
  666. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/application.rb +0 -669
  667. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/backtrace.rb +0 -18
  668. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/clean.rb +0 -32
  669. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/cloneable.rb +0 -16
  670. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/contrib/compositepublisher.rb +0 -21
  671. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/contrib/ftptools.rb +0 -151
  672. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/contrib/publisher.rb +0 -73
  673. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/contrib/rubyforgepublisher.rb +0 -16
  674. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/contrib/sshpublisher.rb +0 -50
  675. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/contrib/sys.rb +0 -1
  676. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/default_loader.rb +0 -10
  677. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/dsl_definition.rb +0 -156
  678. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/early_time.rb +0 -18
  679. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/ext/core.rb +0 -27
  680. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/ext/module.rb +0 -0
  681. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/ext/string.rb +0 -168
  682. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/ext/time.rb +0 -15
  683. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/file_creation_task.rb +0 -24
  684. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/file_list.rb +0 -410
  685. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/file_task.rb +0 -47
  686. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/file_utils.rb +0 -114
  687. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/file_utils_ext.rb +0 -146
  688. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/gempackagetask.rb +0 -1
  689. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/invocation_chain.rb +0 -51
  690. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/invocation_exception_mixin.rb +0 -16
  691. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/loaders/makefile.rb +0 -40
  692. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/multi_task.rb +0 -13
  693. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/name_space.rb +0 -25
  694. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/packagetask.rb +0 -185
  695. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/pathmap.rb +0 -1
  696. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/phony.rb +0 -15
  697. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/private_reader.rb +0 -20
  698. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/promise.rb +0 -99
  699. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/pseudo_status.rb +0 -24
  700. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/rake_module.rb +0 -37
  701. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/rake_test_loader.rb +0 -22
  702. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/rdoctask.rb +0 -1
  703. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/ruby182_test_unit_fix.rb +0 -25
  704. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/rule_recursion_overflow_error.rb +0 -20
  705. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/runtest.rb +0 -22
  706. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/task.rb +0 -350
  707. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/task_argument_error.rb +0 -7
  708. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/task_arguments.rb +0 -78
  709. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/task_manager.rb +0 -296
  710. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/tasklib.rb +0 -22
  711. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/testtask.rb +0 -198
  712. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/thread_history_display.rb +0 -48
  713. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/thread_pool.rb +0 -155
  714. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/trace_output.rb +0 -19
  715. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/version.rb +0 -13
  716. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/lib/rake/win32.rb +0 -55
  717. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/file_creation.rb +0 -34
  718. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/helper.rb +0 -562
  719. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_private_reader.rb +0 -42
  720. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake.rb +0 -40
  721. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_application.rb +0 -515
  722. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_application_options.rb +0 -443
  723. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_backtrace.rb +0 -89
  724. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_clean.rb +0 -14
  725. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_definitions.rb +0 -80
  726. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_directory_task.rb +0 -57
  727. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_dsl.rb +0 -40
  728. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_early_time.rb +0 -31
  729. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_extension.rb +0 -59
  730. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_file_creation_task.rb +0 -56
  731. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_file_list.rb +0 -628
  732. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_file_list_path_map.rb +0 -8
  733. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_file_task.rb +0 -122
  734. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_file_utils.rb +0 -305
  735. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_ftp_file.rb +0 -59
  736. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_functional.rb +0 -496
  737. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_invocation_chain.rb +0 -52
  738. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_makefile_loader.rb +0 -44
  739. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_multi_task.rb +0 -59
  740. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_name_space.rb +0 -43
  741. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_package_task.rb +0 -79
  742. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_path_map.rb +0 -157
  743. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_path_map_explode.rb +0 -34
  744. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_path_map_partial.rb +0 -18
  745. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_pseudo_status.rb +0 -21
  746. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_rake_test_loader.rb +0 -21
  747. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_reduce_compat.rb +0 -30
  748. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_require.rb +0 -40
  749. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_rules.rb +0 -327
  750. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_task.rb +0 -316
  751. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_task_argument_parsing.rb +0 -103
  752. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_task_arguments.rb +0 -88
  753. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_task_lib.rb +0 -9
  754. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_task_manager.rb +0 -157
  755. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_task_manager_argument_resolution.rb +0 -19
  756. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_task_with_arguments.rb +0 -171
  757. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_test_task.rb +0 -120
  758. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_thread_pool.rb +0 -123
  759. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_top_level_functions.rb +0 -71
  760. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_rake_win32.rb +0 -72
  761. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_thread_history_display.rb +0 -91
  762. data/vendor/bundle/ruby/1.8/gems/rake-10.0.3/test/test_trace_output.rb +0 -43
  763. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/AUTHORS +0 -61
  764. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/CHANGES +0 -1063
  765. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/Gemfile +0 -82
  766. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/LICENSE +0 -22
  767. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.de.rdoc +0 -2097
  768. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.es.rdoc +0 -2078
  769. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.fr.rdoc +0 -2036
  770. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.hu.rdoc +0 -607
  771. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.jp.rdoc +0 -1043
  772. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.ko.rdoc +0 -1926
  773. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.pt-br.rdoc +0 -647
  774. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.pt-pt.rdoc +0 -646
  775. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.rdoc +0 -2017
  776. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.ru.rdoc +0 -1785
  777. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/README.zh.rdoc +0 -1816
  778. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/Rakefile +0 -183
  779. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/examples/chat.rb +0 -61
  780. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/examples/simple.rb +0 -3
  781. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/examples/stream.ru +0 -26
  782. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/lib/sinatra.rb +0 -4
  783. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/lib/sinatra/base.rb +0 -1728
  784. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/lib/sinatra/images/404.png +0 -0
  785. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/lib/sinatra/images/500.png +0 -0
  786. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/lib/sinatra/main.rb +0 -28
  787. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/lib/sinatra/showexceptions.rb +0 -340
  788. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/lib/sinatra/version.rb +0 -3
  789. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/sinatra.gemspec +0 -18
  790. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/base_test.rb +0 -160
  791. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/builder_test.rb +0 -95
  792. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/coffee_test.rb +0 -92
  793. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/contest.rb +0 -98
  794. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/creole_test.rb +0 -65
  795. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/delegator_test.rb +0 -162
  796. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/encoding_test.rb +0 -20
  797. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/erb_test.rb +0 -104
  798. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/extensions_test.rb +0 -100
  799. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/filter_test.rb +0 -428
  800. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/haml_test.rb +0 -101
  801. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/helper.rb +0 -123
  802. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/helpers_test.rb +0 -1783
  803. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/integration/app.rb +0 -62
  804. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/integration_helper.rb +0 -214
  805. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/integration_test.rb +0 -85
  806. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/less_test.rb +0 -67
  807. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/liquid_test.rb +0 -59
  808. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/mapped_error_test.rb +0 -259
  809. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/markaby_test.rb +0 -80
  810. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/markdown_test.rb +0 -82
  811. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/middleware_test.rb +0 -68
  812. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/nokogiri_test.rb +0 -69
  813. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/public/favicon.ico +0 -0
  814. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/rack_test.rb +0 -45
  815. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/radius_test.rb +0 -59
  816. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/rdoc_test.rb +0 -66
  817. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/readme_test.rb +0 -136
  818. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/request_test.rb +0 -45
  819. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/response_test.rb +0 -66
  820. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/result_test.rb +0 -98
  821. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/route_added_hook_test.rb +0 -59
  822. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/routing_test.rb +0 -1126
  823. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/sass_test.rb +0 -116
  824. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/scss_test.rb +0 -89
  825. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/server_test.rb +0 -48
  826. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/settings_test.rb +0 -538
  827. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/sinatra_test.rb +0 -17
  828. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/slim_test.rb +0 -88
  829. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/static_test.rb +0 -178
  830. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/streaming_test.rb +0 -140
  831. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/templates_test.rb +0 -298
  832. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/textile_test.rb +0 -65
  833. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/a/in_a.str +0 -1
  834. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/ascii.erb +0 -2
  835. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/b/in_b.str +0 -1
  836. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/calc.html.erb +0 -1
  837. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/error.builder +0 -3
  838. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/error.erb +0 -3
  839. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/error.haml +0 -3
  840. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/error.sass +0 -2
  841. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/explicitly_nested.str +0 -1
  842. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/foo/hello.test +0 -1
  843. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.builder +0 -1
  844. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.coffee +0 -1
  845. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.creole +0 -1
  846. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.erb +0 -1
  847. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.haml +0 -1
  848. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.less +0 -5
  849. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.liquid +0 -1
  850. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.mab +0 -1
  851. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.md +0 -1
  852. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.nokogiri +0 -1
  853. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.radius +0 -1
  854. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.rdoc +0 -1
  855. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.sass +0 -2
  856. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.scss +0 -3
  857. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.slim +0 -1
  858. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.str +0 -1
  859. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.test +0 -1
  860. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/hello.textile +0 -1
  861. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.builder +0 -3
  862. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.erb +0 -2
  863. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.haml +0 -2
  864. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.liquid +0 -2
  865. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.mab +0 -2
  866. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.nokogiri +0 -3
  867. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.radius +0 -2
  868. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.slim +0 -3
  869. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.str +0 -2
  870. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/layout2.test +0 -1
  871. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/nested.str +0 -1
  872. data/vendor/bundle/ruby/1.8/gems/sinatra-1.3.5/test/views/utf8.erb +0 -2
  873. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/CHANGELOG.rdoc +0 -196
  874. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/LICENSE +0 -202
  875. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/README.rdoc +0 -132
  876. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/Rakefile +0 -80
  877. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/bin/catstomp +0 -74
  878. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/bin/stompcat +0 -75
  879. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/client11_ex1.rb +0 -89
  880. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/client11_putget1.rb +0 -71
  881. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/conn11_ex1.rb +0 -112
  882. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/conn11_ex2.rb +0 -87
  883. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/conn11_hb1.rb +0 -57
  884. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/consumer.rb +0 -34
  885. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/get11conn_ex1.rb +0 -117
  886. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/get11conn_ex2.rb +0 -77
  887. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/logexamp.rb +0 -81
  888. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/logexamp_ssl.rb +0 -81
  889. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/publisher.rb +0 -30
  890. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/put11conn_ex1.rb +0 -56
  891. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/putget11_rh1.rb +0 -93
  892. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/slogger.rb +0 -222
  893. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_uc1.rb +0 -46
  894. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_uc1_ciphers.rb +0 -46
  895. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_uc2.rb +0 -48
  896. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_uc2_ciphers.rb +0 -47
  897. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_uc3.rb +0 -50
  898. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_uc3_ciphers.rb +0 -47
  899. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_uc4.rb +0 -50
  900. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_uc4_ciphers.rb +0 -48
  901. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/ssl_ucx_default_ciphers.rb +0 -41
  902. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/stomp11_common.rb +0 -48
  903. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/topic_consumer.rb +0 -32
  904. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/examples/topic_publisher.rb +0 -29
  905. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/client/utils.rb +0 -116
  906. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/connection/heartbeats.rb +0 -175
  907. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/connection/netio.rb +0 -360
  908. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/connection/utf8.rb +0 -294
  909. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/connection/utils.rb +0 -239
  910. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp.rb +0 -39
  911. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/client.rb +0 -350
  912. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/codec.rb +0 -44
  913. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/connection.rb +0 -452
  914. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/constants.rb +0 -114
  915. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/errors.rb +0 -195
  916. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/ext/hash.rb +0 -31
  917. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/message.rb +0 -117
  918. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/sslparams.rb +0 -84
  919. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/lib/stomp/version.rb +0 -12
  920. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/spec/client_shared_examples.rb +0 -71
  921. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/spec/client_spec.rb +0 -329
  922. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/spec/connection_spec.rb +0 -431
  923. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/spec/message_spec.rb +0 -58
  924. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/spec/spec_helper.rb +0 -8
  925. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/stomp.gemspec +0 -151
  926. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/test/test_client.rb +0 -531
  927. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/test/test_codec.rb +0 -119
  928. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/test/test_connection.rb +0 -517
  929. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/test/test_connection1p.rb +0 -396
  930. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/test/test_helper.rb +0 -168
  931. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/test/test_message.rb +0 -173
  932. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/test/test_ssl.rb +0 -81
  933. data/vendor/bundle/ruby/1.8/gems/stomp-1.2.8/test/tlogger.rb +0 -80
  934. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/CHANGELOG.rdoc +0 -142
  935. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/Gemfile +0 -19
  936. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/LICENSE.md +0 -20
  937. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/README.md +0 -28
  938. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/Thorfile +0 -30
  939. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/bin/rake2thor +0 -86
  940. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/bin/thor +0 -6
  941. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor.rb +0 -448
  942. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/actions.rb +0 -318
  943. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/actions/create_file.rb +0 -105
  944. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/actions/create_link.rb +0 -57
  945. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/actions/directory.rb +0 -117
  946. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/actions/empty_directory.rb +0 -153
  947. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/actions/file_manipulation.rb +0 -314
  948. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/actions/inject_into_file.rb +0 -109
  949. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/base.rb +0 -654
  950. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/core_ext/file_binary_read.rb +0 -9
  951. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/core_ext/hash_with_indifferent_access.rb +0 -80
  952. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/core_ext/ordered_hash.rb +0 -100
  953. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/error.rb +0 -35
  954. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/group.rb +0 -285
  955. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/invocation.rb +0 -170
  956. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/parser.rb +0 -4
  957. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/parser/argument.rb +0 -74
  958. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/parser/arguments.rb +0 -171
  959. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/parser/option.rb +0 -121
  960. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/parser/options.rb +0 -216
  961. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/rake_compat.rb +0 -72
  962. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/runner.rb +0 -321
  963. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/shell.rb +0 -88
  964. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/shell/basic.rb +0 -389
  965. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/shell/color.rb +0 -144
  966. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/shell/html.rb +0 -123
  967. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/task.rb +0 -132
  968. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/util.rb +0 -266
  969. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/lib/thor/version.rb +0 -3
  970. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/actions/create_file_spec.rb +0 -170
  971. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/actions/create_link_spec.rb +0 -81
  972. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/actions/directory_spec.rb +0 -156
  973. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/actions/empty_directory_spec.rb +0 -130
  974. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/actions/file_manipulation_spec.rb +0 -382
  975. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/actions/inject_into_file_spec.rb +0 -135
  976. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/actions_spec.rb +0 -331
  977. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/base_spec.rb +0 -279
  978. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/core_ext/hash_with_indifferent_access_spec.rb +0 -48
  979. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/core_ext/ordered_hash_spec.rb +0 -115
  980. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/exit_condition_spec.rb +0 -19
  981. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/application.rb +0 -2
  982. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/app{1}/README +0 -3
  983. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/bundle/execute.rb +0 -6
  984. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/bundle/main.thor +0 -1
  985. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/doc/%file_name%.rb.tt +0 -1
  986. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/doc/COMMENTER +0 -11
  987. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/doc/README +0 -3
  988. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/doc/block_helper.rb +0 -3
  989. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/doc/config.rb +0 -1
  990. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/doc/config.yaml.tt +0 -1
  991. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/enum.thor +0 -10
  992. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/group.thor +0 -114
  993. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/invoke.thor +0 -112
  994. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/path with spaces b/data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/path with → spaces +0 -0
  995. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/preserve/script.sh +0 -3
  996. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/script.thor +0 -195
  997. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/fixtures/task.thor +0 -10
  998. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/group_spec.rb +0 -216
  999. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/invocation_spec.rb +0 -100
  1000. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/parser/argument_spec.rb +0 -53
  1001. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/parser/arguments_spec.rb +0 -66
  1002. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/parser/option_spec.rb +0 -202
  1003. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/parser/options_spec.rb +0 -395
  1004. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/rake_compat_spec.rb +0 -72
  1005. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/register_spec.rb +0 -197
  1006. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/runner_spec.rb +0 -241
  1007. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/shell/basic_spec.rb +0 -312
  1008. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/shell/color_spec.rb +0 -81
  1009. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/shell/html_spec.rb +0 -32
  1010. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/shell_spec.rb +0 -47
  1011. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/spec_helper.rb +0 -63
  1012. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/task_spec.rb +0 -80
  1013. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/thor_spec.rb +0 -488
  1014. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/spec/util_spec.rb +0 -196
  1015. data/vendor/bundle/ruby/1.8/gems/thor-0.17.0/thor.gemspec +0 -20
  1016. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/COPYING +0 -18
  1017. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/Gemfile +0 -32
  1018. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/HACKING +0 -16
  1019. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/README.md +0 -211
  1020. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/Rakefile +0 -104
  1021. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/TEMPLATES.md +0 -516
  1022. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/bin/tilt +0 -112
  1023. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt.rb +0 -204
  1024. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/asciidoc.rb +0 -34
  1025. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/builder.rb +0 -40
  1026. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/coffee.rb +0 -54
  1027. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/css.rb +0 -80
  1028. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/csv.rb +0 -71
  1029. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/erb.rb +0 -110
  1030. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/etanni.rb +0 -27
  1031. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/haml.rb +0 -64
  1032. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/liquid.rb +0 -45
  1033. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/markaby.rb +0 -52
  1034. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/markdown.rb +0 -214
  1035. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/nokogiri.rb +0 -43
  1036. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/plain.rb +0 -20
  1037. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/radius.rb +0 -55
  1038. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/rdoc.rb +0 -47
  1039. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/string.rb +0 -21
  1040. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/template.rb +0 -246
  1041. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/textile.rb +0 -30
  1042. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/wiki.rb +0 -58
  1043. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/lib/tilt/yajl.rb +0 -94
  1044. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/contest.rb +0 -68
  1045. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/markaby/locals.mab +0 -1
  1046. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/markaby/markaby.mab +0 -1
  1047. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/markaby/markaby_other_static.mab +0 -1
  1048. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/markaby/render_twice.mab +0 -1
  1049. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/markaby/scope.mab +0 -1
  1050. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/markaby/yielding.mab +0 -2
  1051. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_asciidoctor_test.rb +0 -44
  1052. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_blueclothtemplate_test.rb +0 -45
  1053. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_buildertemplate_test.rb +0 -59
  1054. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_cache_test.rb +0 -32
  1055. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_coffeescripttemplate_test.rb +0 -114
  1056. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_compilesite_test.rb +0 -51
  1057. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_creoletemplate_test.rb +0 -28
  1058. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_csv_test.rb +0 -73
  1059. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_erbtemplate_test.rb +0 -239
  1060. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_erubistemplate_test.rb +0 -151
  1061. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_etannitemplate_test.rb +0 -173
  1062. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_fallback_test.rb +0 -122
  1063. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_hamltemplate_test.rb +0 -144
  1064. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_kramdown_test.rb +0 -42
  1065. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_lesstemplate_test.less +0 -1
  1066. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_lesstemplate_test.rb +0 -42
  1067. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_liquidtemplate_test.rb +0 -78
  1068. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_markaby_test.rb +0 -88
  1069. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_markdown_test.rb +0 -172
  1070. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_marukutemplate_test.rb +0 -48
  1071. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_nokogiritemplate_test.rb +0 -87
  1072. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_radiustemplate_test.rb +0 -75
  1073. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_rdiscounttemplate_test.rb +0 -55
  1074. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_rdoctemplate_test.rb +0 -31
  1075. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_redcarpettemplate_test.rb +0 -71
  1076. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_redclothtemplate_test.rb +0 -36
  1077. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_sasstemplate_test.rb +0 -41
  1078. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_stringtemplate_test.rb +0 -170
  1079. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_template_test.rb +0 -167
  1080. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_test.rb +0 -65
  1081. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_wikiclothtemplate_test.rb +0 -32
  1082. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/test/tilt_yajltemplate_test.rb +0 -101
  1083. data/vendor/bundle/ruby/1.8/gems/tilt-1.3.4/tilt.gemspec +0 -119
  1084. data/vendor/bundle/ruby/1.8/specifications/haml-3.1.8.gemspec +0 -34
  1085. data/vendor/bundle/ruby/1.8/specifications/rack-1.5.2.gemspec +0 -36
  1086. data/vendor/bundle/ruby/1.8/specifications/rack-protection-1.4.0.gemspec +0 -34
  1087. data/vendor/bundle/ruby/1.8/specifications/rake-10.0.3.gemspec +0 -34
  1088. data/vendor/bundle/ruby/1.8/specifications/sinatra-1.3.5.gemspec +0 -37
  1089. data/vendor/bundle/ruby/1.8/specifications/stomp-1.2.8.gemspec +0 -31
  1090. data/vendor/bundle/ruby/1.8/specifications/thor-0.17.0.gemspec +0 -30
  1091. data/vendor/bundle/ruby/1.8/specifications/tilt-1.3.4.gemspec +0 -98
@@ -1,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