scout_realtime 0.5.1

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 (563) hide show
  1. data/.gitignore +21 -0
  2. data/CHANGELOG.md +7 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +37 -0
  6. data/Rakefile +16 -0
  7. data/Vagrantfile +7 -0
  8. data/bin/scout_realtime +117 -0
  9. data/lib/scout_realtime/lib/aggregator.rb +8 -0
  10. data/lib/scout_realtime/lib/metric.rb +36 -0
  11. data/lib/scout_realtime/lib/multi_aggregator.rb +12 -0
  12. data/lib/scout_realtime/lib/ring_buffer.rb +25 -0
  13. data/lib/scout_realtime/lib/trollop.rb +782 -0
  14. data/lib/scout_realtime/main.rb +76 -0
  15. data/lib/scout_realtime/models/cpu.rb +21 -0
  16. data/lib/scout_realtime/models/disk.rb +21 -0
  17. data/lib/scout_realtime/models/memory.rb +17 -0
  18. data/lib/scout_realtime/models/network.rb +14 -0
  19. data/lib/scout_realtime/models/processes.rb +13 -0
  20. data/lib/scout_realtime/runner.rb +34 -0
  21. data/lib/scout_realtime/version.rb +5 -0
  22. data/lib/scout_realtime/web/favicon.ico +0 -0
  23. data/lib/scout_realtime/web/images/logo.png +0 -0
  24. data/lib/scout_realtime/web/images/pause.png +0 -0
  25. data/lib/scout_realtime/web/images/play.png +0 -0
  26. data/lib/scout_realtime/web/javascripts/application.js +265 -0
  27. data/lib/scout_realtime/web/javascripts/bootstrap.min.js +7 -0
  28. data/lib/scout_realtime/web/javascripts/charts.js +189 -0
  29. data/lib/scout_realtime/web/javascripts/d3.barchart.js +210 -0
  30. data/lib/scout_realtime/web/javascripts/d3.linechart.js +168 -0
  31. data/lib/scout_realtime/web/javascripts/d3.v3.min.js +5 -0
  32. data/lib/scout_realtime/web/javascripts/handlebars-v1.1.0.js +2563 -0
  33. data/lib/scout_realtime/web/javascripts/jquery.js +3010 -0
  34. data/lib/scout_realtime/web/javascripts/metrics_for_development.js +6 -0
  35. data/lib/scout_realtime/web/stylesheets/bootstrap-theme.min.css +7 -0
  36. data/lib/scout_realtime/web/stylesheets/bootstrap.min.css +7 -0
  37. data/lib/scout_realtime/web/stylesheets/styles.css +254 -0
  38. data/lib/scout_realtime/web/views/graph.erb +6 -0
  39. data/lib/scout_realtime/web/views/header.erb +8 -0
  40. data/lib/scout_realtime/web/views/index.erb +21 -0
  41. data/lib/scout_realtime/web/views/layout.erb +33 -0
  42. data/lib/scout_realtime/web/views/overview_charts.erb +30 -0
  43. data/lib/scout_realtime/web/views/processes.erb +31 -0
  44. data/lib/scout_realtime/web/views/sidebar.erb +19 -0
  45. data/lib/scout_realtime/web_app.rb +59 -0
  46. data/lib/scout_realtime.rb +58 -0
  47. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/bytes.rb +1 -0
  48. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/chars.rb +1 -0
  49. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/each.rb +3 -0
  50. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/each_byte.rb +9 -0
  51. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/each_char.rb +35 -0
  52. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/each_line.rb +3 -0
  53. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/getbyte.rb +5 -0
  54. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/lines.rb +5 -0
  55. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/readbyte.rb +5 -0
  56. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf.rb +3 -0
  57. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/collect.rb +3 -0
  58. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/combination.rb +24 -0
  59. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/cycle.rb +16 -0
  60. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/delete_if.rb +3 -0
  61. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/each.rb +3 -0
  62. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/each_index.rb +3 -0
  63. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/find_index.rb +1 -0
  64. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/flatten.rb +47 -0
  65. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/index.rb +15 -0
  66. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/map.rb +3 -0
  67. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/permutation.rb +30 -0
  68. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/pop.rb +15 -0
  69. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/product.rb +32 -0
  70. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/reject.rb +3 -0
  71. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/reverse_each.rb +3 -0
  72. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/rindex.rb +15 -0
  73. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/select.rb +3 -0
  74. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/shift.rb +13 -0
  75. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/shuffle.rb +17 -0
  76. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array.rb +3 -0
  77. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/binding/eval.rb +7 -0
  78. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/binding.rb +3 -0
  79. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/dir/each.rb +7 -0
  80. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/dir/foreach.rb +9 -0
  81. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/dir.rb +3 -0
  82. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/count.rb +17 -0
  83. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/cycle.rb +24 -0
  84. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/detect.rb +3 -0
  85. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/drop.rb +13 -0
  86. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/drop_while.rb +16 -0
  87. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/each_cons.rb +4 -0
  88. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/each_slice.rb +4 -0
  89. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/each_with_index.rb +3 -0
  90. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/entries.rb +11 -0
  91. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/find.rb +3 -0
  92. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/find_all.rb +3 -0
  93. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/find_index.rb +21 -0
  94. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/first.rb +21 -0
  95. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/group_by.rb +14 -0
  96. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/inject.rb +14 -0
  97. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/max_by.rb +16 -0
  98. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/min_by.rb +16 -0
  99. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/minmax.rb +21 -0
  100. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/minmax_by.rb +19 -0
  101. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/none.rb +7 -0
  102. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/one.rb +23 -0
  103. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/partition.rb +3 -0
  104. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/reduce.rb +1 -0
  105. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/reject.rb +3 -0
  106. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/reverse_each.rb +12 -0
  107. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/select.rb +3 -0
  108. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/sort_by.rb +3 -0
  109. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/take.rb +9 -0
  110. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/take_while.rb +14 -0
  111. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/to_a.rb +12 -0
  112. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable.rb +3 -0
  113. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerator/each.rb +6 -0
  114. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerator/next.rb +15 -0
  115. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerator/rewind.rb +13 -0
  116. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerator/with_index.rb +14 -0
  117. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerator.rb +3 -0
  118. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/env/delete_if.rb +3 -0
  119. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/env/each.rb +3 -0
  120. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/env/each_key.rb +3 -0
  121. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/env/each_pair.rb +3 -0
  122. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/env/each_value.rb +3 -0
  123. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/env/reject.rb +4 -0
  124. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/env/select.rb +3 -0
  125. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/env.rb +3 -0
  126. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/fixnum/div.rb +7 -0
  127. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/fixnum/fdiv.rb +7 -0
  128. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/fixnum.rb +3 -0
  129. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/float/fdiv.rb +3 -0
  130. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/float.rb +3 -0
  131. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/gc/stress.rb +9 -0
  132. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/gc.rb +3 -0
  133. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/constructor.rb +25 -0
  134. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/delete_if.rb +3 -0
  135. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/each.rb +3 -0
  136. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/each_key.rb +3 -0
  137. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/each_pair.rb +3 -0
  138. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/each_value.rb +3 -0
  139. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/eql.rb +1 -0
  140. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/hash.rb +17 -0
  141. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/reject.rb +3 -0
  142. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/select.rb +3 -0
  143. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash.rb +3 -0
  144. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/downto.rb +3 -0
  145. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/even.rb +7 -0
  146. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/odd.rb +7 -0
  147. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/ord.rb +7 -0
  148. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/pred.rb +7 -0
  149. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/times.rb +3 -0
  150. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/upto.rb +3 -0
  151. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer.rb +3 -0
  152. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/bytes.rb +1 -0
  153. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/chars.rb +1 -0
  154. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/each.rb +3 -0
  155. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/each_byte.rb +6 -0
  156. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/each_char.rb +34 -0
  157. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/each_line.rb +6 -0
  158. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/foreach.rb +7 -0
  159. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/getbyte.rb +3 -0
  160. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/lines.rb +1 -0
  161. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/readbyte.rb +3 -0
  162. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io.rb +3 -0
  163. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/kernel/__method__.rb +8 -0
  164. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/kernel/instance_exec.rb +10 -0
  165. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/kernel/tap.rb +8 -0
  166. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/kernel.rb +3 -0
  167. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/method/name.rb +49 -0
  168. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/method.rb +3 -0
  169. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/module/class_exec.rb +1 -0
  170. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/module/module_exec.rb +11 -0
  171. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/module.rb +3 -0
  172. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/numeric/step.rb +3 -0
  173. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/numeric.rb +3 -0
  174. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/object_space/each_object.rb +5 -0
  175. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/object_space.rb +3 -0
  176. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/process/exec.rb +3 -0
  177. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/process.rb +3 -0
  178. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/range/each.rb +3 -0
  179. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/range/step.rb +3 -0
  180. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/range.rb +3 -0
  181. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/regexp/union.rb +11 -0
  182. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/regexp.rb +3 -0
  183. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/stdlib/tmpdir.rb +44 -0
  184. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/stdlib.rb +1 -0
  185. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/stop_iteration.rb +14 -0
  186. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/bytes.rb +1 -0
  187. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/bytesize.rb +3 -0
  188. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/each.rb +3 -0
  189. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/each_byte.rb +5 -0
  190. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/each_char.rb +13 -0
  191. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/each_line.rb +5 -0
  192. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/end_with.rb +12 -0
  193. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/lines.rb +1 -0
  194. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/partition.rb +20 -0
  195. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/rpartition.rb +19 -0
  196. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/start_with.rb +12 -0
  197. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/upto.rb +15 -0
  198. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string.rb +3 -0
  199. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/struct/each.rb +3 -0
  200. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/struct/each_pair.rb +3 -0
  201. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/struct.rb +3 -0
  202. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/symbol/to_proc.rb +8 -0
  203. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/symbol.rb +3 -0
  204. data/lib/vendor/backports-3.3.5/lib/backports/1.8.7.rb +3 -0
  205. data/lib/vendor/backports-3.3.5/lib/backports/1.8.8.rb +2 -0
  206. data/lib/vendor/backports-3.3.5/lib/backports/1.8.rb +2 -0
  207. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/array/sample.rb +19 -0
  208. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/array/try_convert.rb +7 -0
  209. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/array.rb +3 -0
  210. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/dir/to_path.rb +3 -0
  211. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/dir.rb +3 -0
  212. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/enumerable/each_with_index.rb +14 -0
  213. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/enumerable/each_with_object.rb +9 -0
  214. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/enumerable.rb +3 -0
  215. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/enumerator/new.rb +40 -0
  216. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/enumerator/with_object.rb +6 -0
  217. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/enumerator.rb +3 -0
  218. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/env/key.rb +5 -0
  219. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/env.rb +3 -0
  220. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/atime.rb +5 -0
  221. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/basename.rb +5 -0
  222. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/binary.rb +6 -0
  223. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/blockdev.rb +5 -0
  224. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/chardev.rb +5 -0
  225. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/chmod.rb +5 -0
  226. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/chown.rb +5 -0
  227. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/ctime.rb +5 -0
  228. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/delete.rb +5 -0
  229. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/directory.rb +5 -0
  230. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/dirname.rb +5 -0
  231. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/executable.rb +5 -0
  232. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/executable_real.rb +5 -0
  233. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/exist.rb +5 -0
  234. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/exists.rb +5 -0
  235. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/expand_path.rb +14 -0
  236. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/extname.rb +5 -0
  237. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/file.rb +5 -0
  238. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/ftype.rb +5 -0
  239. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/grpowned.rb +5 -0
  240. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/join.rb +5 -0
  241. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/lchmod.rb +5 -0
  242. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/lchown.rb +5 -0
  243. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/link.rb +5 -0
  244. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/lstat.rb +5 -0
  245. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/mtime.rb +5 -0
  246. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/new.rb +5 -0
  247. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/open.rb +23 -0
  248. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/owned.rb +5 -0
  249. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/pipe.rb +5 -0
  250. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/readable.rb +5 -0
  251. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/readable_real.rb +5 -0
  252. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/readlink.rb +5 -0
  253. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/rename.rb +5 -0
  254. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/setgid.rb +5 -0
  255. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/setuid.rb +5 -0
  256. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/size.rb +14 -0
  257. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/socket.rb +5 -0
  258. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/split.rb +5 -0
  259. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/stat.rb +5 -0
  260. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/sticky.rb +5 -0
  261. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/symlink.rb +6 -0
  262. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/to_path.rb +3 -0
  263. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/truncate.rb +5 -0
  264. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/unlink.rb +5 -0
  265. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/writable.rb +5 -0
  266. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/writable_real.rb +5 -0
  267. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/zero.rb +5 -0
  268. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file.rb +3 -0
  269. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/float/round.rb +21 -0
  270. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/float.rb +3 -0
  271. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/hash/assoc.rb +12 -0
  272. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/hash/default_proc.rb +14 -0
  273. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/hash/key.rb +3 -0
  274. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/hash/rassoc.rb +9 -0
  275. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/hash/try_convert.rb +7 -0
  276. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/hash.rb +3 -0
  277. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/integer/magnitude.rb +3 -0
  278. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/integer/round.rb +24 -0
  279. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/integer.rb +3 -0
  280. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/io/binread.rb +10 -0
  281. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/io/open.rb +21 -0
  282. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/io/try_convert.rb +7 -0
  283. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/io/ungetbyte.rb +3 -0
  284. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/io.rb +3 -0
  285. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/kernel/__callee__.rb +7 -0
  286. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/kernel/define_singleton_method.rb +9 -0
  287. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/kernel/public_method.rb +11 -0
  288. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/kernel/public_send.rb +13 -0
  289. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/kernel/require_relative.rb +14 -0
  290. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/kernel.rb +3 -0
  291. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/math/log.rb +20 -0
  292. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/math/log2.rb +5 -0
  293. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/math.rb +3 -0
  294. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/numeric/round.rb +11 -0
  295. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/numeric.rb +3 -0
  296. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/proc/case_compare.rb +6 -0
  297. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/proc/curry.rb +24 -0
  298. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/proc/lambda.rb +40 -0
  299. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/proc/yield.rb +3 -0
  300. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/proc.rb +3 -0
  301. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/range/cover.rb +3 -0
  302. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/range.rb +3 -0
  303. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/regexp/try_convert.rb +7 -0
  304. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/regexp.rb +3 -0
  305. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/stdlib/prime.rb +497 -0
  306. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/stdlib.rb +1 -0
  307. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/ascii_only.rb +7 -0
  308. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/chr.rb +7 -0
  309. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/clear.rb +8 -0
  310. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/codepoints.rb +8 -0
  311. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/each_codepoint.rb +3 -0
  312. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/getbyte.rb +3 -0
  313. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/ord.rb +7 -0
  314. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/setbyte.rb +3 -0
  315. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/try_convert.rb +7 -0
  316. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string.rb +3 -0
  317. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/capitalize.rb +7 -0
  318. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/casecmp.rb +8 -0
  319. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/comparable.rb +7 -0
  320. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/comparison.rb +8 -0
  321. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/downcase.rb +7 -0
  322. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/element_reference.rb +7 -0
  323. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/empty.rb +7 -0
  324. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/length.rb +7 -0
  325. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/match.rb +9 -0
  326. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/next.rb +1 -0
  327. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/size.rb +7 -0
  328. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/succ.rb +8 -0
  329. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/swapcase.rb +7 -0
  330. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/upcase.rb +7 -0
  331. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol.rb +3 -0
  332. data/lib/vendor/backports-3.3.5/lib/backports/1.9.1.rb +3 -0
  333. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/keep_if.rb +8 -0
  334. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/product.rb +26 -0
  335. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/repeated_combination.rb +25 -0
  336. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/repeated_permutation.rb +26 -0
  337. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/rotate.rb +17 -0
  338. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/select.rb +8 -0
  339. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/sort_by.rb +9 -0
  340. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/uniq.rb +30 -0
  341. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array.rb +3 -0
  342. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/complex/to_r.rb +10 -0
  343. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/complex.rb +3 -0
  344. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/dir/home.rb +5 -0
  345. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/dir.rb +3 -0
  346. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/enumerable/chunk.rb +39 -0
  347. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/enumerable/collect_concat.rb +1 -0
  348. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/enumerable/each_entry.rb +11 -0
  349. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/enumerable/flat_map.rb +11 -0
  350. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/enumerable/slice_before.rb +30 -0
  351. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/enumerable.rb +3 -0
  352. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/float/infinity.rb +3 -0
  353. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/float/nan.rb +3 -0
  354. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/float.rb +3 -0
  355. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/hash/keep_if.rb +8 -0
  356. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/hash/select.rb +9 -0
  357. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/hash.rb +3 -0
  358. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/kernel/singleton_class.rb +7 -0
  359. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/kernel.rb +3 -0
  360. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/random.rb +1 -0
  361. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/stdlib/matrix/eigenvalue_decomposition.rb +886 -0
  362. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/stdlib/matrix/lup_decomposition.rb +218 -0
  363. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/stdlib/matrix.rb +1871 -0
  364. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/stdlib/set.rb +13 -0
  365. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/stdlib.rb +1 -0
  366. data/lib/vendor/backports-3.3.5/lib/backports/1.9.2.rb +3 -0
  367. data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/file/null.rb +16 -0
  368. data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/file.rb +3 -0
  369. data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/io/advise.rb +24 -0
  370. data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/io/binwrite.rb +7 -0
  371. data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/io/write.rb +7 -0
  372. data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/io.rb +3 -0
  373. data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/string/byteslice.rb +36 -0
  374. data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/string/prepend.rb +10 -0
  375. data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/string.rb +3 -0
  376. data/lib/vendor/backports-3.3.5/lib/backports/1.9.3.rb +3 -0
  377. data/lib/vendor/backports-3.3.5/lib/backports/1.9.rb +2 -0
  378. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/array/bsearch.rb +32 -0
  379. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/array.rb +3 -0
  380. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/enumerable/lazy.rb +216 -0
  381. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/enumerable.rb +3 -0
  382. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/enumerator/lazy.rb +1 -0
  383. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/enumerator.rb +3 -0
  384. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/env/to_h.rb +5 -0
  385. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/env.rb +3 -0
  386. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/hash/default_proc.rb +16 -0
  387. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/hash/to_h.rb +7 -0
  388. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/hash.rb +3 -0
  389. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/nil/to_h.rb +7 -0
  390. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/nil.rb +3 -0
  391. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/range/bsearch.rb +49 -0
  392. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/range.rb +3 -0
  393. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/stdlib/abbrev.rb +1 -0
  394. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/stdlib/fake_stdlib_lib.rb +1 -0
  395. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/stdlib/ostruct.rb +27 -0
  396. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/stdlib.rb +1 -0
  397. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/struct/to_h.rb +9 -0
  398. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/struct.rb +3 -0
  399. data/lib/vendor/backports-3.3.5/lib/backports/2.0.0.rb +3 -0
  400. data/lib/vendor/backports-3.3.5/lib/backports/2.0.rb +2 -0
  401. data/lib/vendor/backports-3.3.5/lib/backports/basic_object.rb +53 -0
  402. data/lib/vendor/backports-3.3.5/lib/backports/extra/random/MT19937.rb +76 -0
  403. data/lib/vendor/backports-3.3.5/lib/backports/extra/random/bits_and_bytes.rb +91 -0
  404. data/lib/vendor/backports-3.3.5/lib/backports/extra/random/implementation.rb +93 -0
  405. data/lib/vendor/backports-3.3.5/lib/backports/extra/random/load.rb +17 -0
  406. data/lib/vendor/backports-3.3.5/lib/backports/force/array_map.rb +1 -0
  407. data/lib/vendor/backports-3.3.5/lib/backports/force/enumerable_map.rb +3 -0
  408. data/lib/vendor/backports-3.3.5/lib/backports/force/hash_select.rb +9 -0
  409. data/lib/vendor/backports-3.3.5/lib/backports/force/string_length.rb +10 -0
  410. data/lib/vendor/backports-3.3.5/lib/backports/force/string_size.rb +1 -0
  411. data/lib/vendor/backports-3.3.5/lib/backports/rails/array.rb +6 -0
  412. data/lib/vendor/backports-3.3.5/lib/backports/rails/enumerable.rb +12 -0
  413. data/lib/vendor/backports-3.3.5/lib/backports/rails/hash.rb +31 -0
  414. data/lib/vendor/backports-3.3.5/lib/backports/rails/kernel.rb +6 -0
  415. data/lib/vendor/backports-3.3.5/lib/backports/rails/module.rb +6 -0
  416. data/lib/vendor/backports-3.3.5/lib/backports/rails/string.rb +42 -0
  417. data/lib/vendor/backports-3.3.5/lib/backports/rails.rb +4 -0
  418. data/lib/vendor/backports-3.3.5/lib/backports/tools.rb +343 -0
  419. data/lib/vendor/backports-3.3.5/lib/backports/version.rb +3 -0
  420. data/lib/vendor/backports-3.3.5/lib/backports.rb +4 -0
  421. data/lib/vendor/dante-0.2.0/lib/dante/runner.rb +275 -0
  422. data/lib/vendor/dante-0.2.0/lib/dante/version.rb +3 -0
  423. data/lib/vendor/dante-0.2.0/lib/dante.rb +26 -0
  424. data/lib/vendor/rack-1.5.2/lib/rack/auth/abstract/handler.rb +37 -0
  425. data/lib/vendor/rack-1.5.2/lib/rack/auth/abstract/request.rb +43 -0
  426. data/lib/vendor/rack-1.5.2/lib/rack/auth/basic.rb +58 -0
  427. data/lib/vendor/rack-1.5.2/lib/rack/auth/digest/md5.rb +129 -0
  428. data/lib/vendor/rack-1.5.2/lib/rack/auth/digest/nonce.rb +51 -0
  429. data/lib/vendor/rack-1.5.2/lib/rack/auth/digest/params.rb +53 -0
  430. data/lib/vendor/rack-1.5.2/lib/rack/auth/digest/request.rb +41 -0
  431. data/lib/vendor/rack-1.5.2/lib/rack/backports/uri/common_18.rb +56 -0
  432. data/lib/vendor/rack-1.5.2/lib/rack/backports/uri/common_192.rb +52 -0
  433. data/lib/vendor/rack-1.5.2/lib/rack/backports/uri/common_193.rb +29 -0
  434. data/lib/vendor/rack-1.5.2/lib/rack/body_proxy.rb +39 -0
  435. data/lib/vendor/rack-1.5.2/lib/rack/builder.rb +149 -0
  436. data/lib/vendor/rack-1.5.2/lib/rack/cascade.rb +52 -0
  437. data/lib/vendor/rack-1.5.2/lib/rack/chunked.rb +58 -0
  438. data/lib/vendor/rack-1.5.2/lib/rack/commonlogger.rb +64 -0
  439. data/lib/vendor/rack-1.5.2/lib/rack/conditionalget.rb +67 -0
  440. data/lib/vendor/rack-1.5.2/lib/rack/config.rb +20 -0
  441. data/lib/vendor/rack-1.5.2/lib/rack/content_length.rb +33 -0
  442. data/lib/vendor/rack-1.5.2/lib/rack/content_type.rb +29 -0
  443. data/lib/vendor/rack-1.5.2/lib/rack/deflater.rb +116 -0
  444. data/lib/vendor/rack-1.5.2/lib/rack/directory.rb +161 -0
  445. data/lib/vendor/rack-1.5.2/lib/rack/etag.rb +64 -0
  446. data/lib/vendor/rack-1.5.2/lib/rack/file.rb +138 -0
  447. data/lib/vendor/rack-1.5.2/lib/rack/handler/cgi.rb +61 -0
  448. data/lib/vendor/rack-1.5.2/lib/rack/handler/evented_mongrel.rb +8 -0
  449. data/lib/vendor/rack-1.5.2/lib/rack/handler/fastcgi.rb +98 -0
  450. data/lib/vendor/rack-1.5.2/lib/rack/handler/lsws.rb +61 -0
  451. data/lib/vendor/rack-1.5.2/lib/rack/handler/mongrel.rb +100 -0
  452. data/lib/vendor/rack-1.5.2/lib/rack/handler/scgi.rb +67 -0
  453. data/lib/vendor/rack-1.5.2/lib/rack/handler/swiftiplied_mongrel.rb +8 -0
  454. data/lib/vendor/rack-1.5.2/lib/rack/handler/thin.rb +27 -0
  455. data/lib/vendor/rack-1.5.2/lib/rack/handler/webrick.rb +81 -0
  456. data/lib/vendor/rack-1.5.2/lib/rack/handler.rb +107 -0
  457. data/lib/vendor/rack-1.5.2/lib/rack/head.rb +22 -0
  458. data/lib/vendor/rack-1.5.2/lib/rack/lint.rb +699 -0
  459. data/lib/vendor/rack-1.5.2/lib/rack/lobster.rb +65 -0
  460. data/lib/vendor/rack-1.5.2/lib/rack/lock.rb +26 -0
  461. data/lib/vendor/rack-1.5.2/lib/rack/logger.rb +18 -0
  462. data/lib/vendor/rack-1.5.2/lib/rack/methodoverride.rb +31 -0
  463. data/lib/vendor/rack-1.5.2/lib/rack/mime.rb +677 -0
  464. data/lib/vendor/rack-1.5.2/lib/rack/mock.rb +190 -0
  465. data/lib/vendor/rack-1.5.2/lib/rack/multipart/generator.rb +93 -0
  466. data/lib/vendor/rack-1.5.2/lib/rack/multipart/parser.rb +176 -0
  467. data/lib/vendor/rack-1.5.2/lib/rack/multipart/uploaded_file.rb +34 -0
  468. data/lib/vendor/rack-1.5.2/lib/rack/multipart.rb +34 -0
  469. data/lib/vendor/rack-1.5.2/lib/rack/nulllogger.rb +18 -0
  470. data/lib/vendor/rack-1.5.2/lib/rack/recursive.rb +61 -0
  471. data/lib/vendor/rack-1.5.2/lib/rack/reloader.rb +109 -0
  472. data/lib/vendor/rack-1.5.2/lib/rack/request.rb +380 -0
  473. data/lib/vendor/rack-1.5.2/lib/rack/response.rb +155 -0
  474. data/lib/vendor/rack-1.5.2/lib/rack/rewindable_input.rb +104 -0
  475. data/lib/vendor/rack-1.5.2/lib/rack/runtime.rb +27 -0
  476. data/lib/vendor/rack-1.5.2/lib/rack/sendfile.rb +155 -0
  477. data/lib/vendor/rack-1.5.2/lib/rack/server.rb +362 -0
  478. data/lib/vendor/rack-1.5.2/lib/rack/session/abstract/id.rb +398 -0
  479. data/lib/vendor/rack-1.5.2/lib/rack/session/cookie.rb +178 -0
  480. data/lib/vendor/rack-1.5.2/lib/rack/session/memcache.rb +93 -0
  481. data/lib/vendor/rack-1.5.2/lib/rack/session/pool.rb +79 -0
  482. data/lib/vendor/rack-1.5.2/lib/rack/showexceptions.rb +378 -0
  483. data/lib/vendor/rack-1.5.2/lib/rack/showstatus.rb +113 -0
  484. data/lib/vendor/rack-1.5.2/lib/rack/static.rb +153 -0
  485. data/lib/vendor/rack-1.5.2/lib/rack/urlmap.rb +76 -0
  486. data/lib/vendor/rack-1.5.2/lib/rack/utils/okjson.rb +599 -0
  487. data/lib/vendor/rack-1.5.2/lib/rack/utils.rb +628 -0
  488. data/lib/vendor/rack-1.5.2/lib/rack.rb +87 -0
  489. data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/authenticity_token.rb +31 -0
  490. data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/base.rb +119 -0
  491. data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/escaped_params.rb +87 -0
  492. data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/form_token.rb +23 -0
  493. data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/frame_options.rb +37 -0
  494. data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/http_origin.rb +32 -0
  495. data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/ip_spoofing.rb +23 -0
  496. data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/json_csrf.rb +35 -0
  497. data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/path_traversal.rb +47 -0
  498. data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/remote_referrer.rb +20 -0
  499. data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/remote_token.rb +22 -0
  500. data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/session_hijacking.rb +36 -0
  501. data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/version.rb +16 -0
  502. data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/xss_header.rb +25 -0
  503. data/lib/vendor/rack-protection-1.5.1/lib/rack/protection.rb +40 -0
  504. data/lib/vendor/rack-protection-1.5.1/lib/rack-protection.rb +1 -0
  505. data/lib/vendor/sinatra-1.4.4/.yardopts +5 -0
  506. data/lib/vendor/sinatra-1.4.4/lib/sinatra/base.rb +2034 -0
  507. data/lib/vendor/sinatra-1.4.4/lib/sinatra/images/404.png +0 -0
  508. data/lib/vendor/sinatra-1.4.4/lib/sinatra/images/500.png +0 -0
  509. data/lib/vendor/sinatra-1.4.4/lib/sinatra/main.rb +34 -0
  510. data/lib/vendor/sinatra-1.4.4/lib/sinatra/show_exceptions.rb +345 -0
  511. data/lib/vendor/sinatra-1.4.4/lib/sinatra/version.rb +3 -0
  512. data/lib/vendor/sinatra-1.4.4/lib/sinatra.rb +4 -0
  513. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/capture.rb +124 -0
  514. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/config_file.rb +167 -0
  515. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/content_for.rb +125 -0
  516. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/contrib/all.rb +2 -0
  517. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/contrib/setup.rb +53 -0
  518. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/contrib/version.rb +17 -0
  519. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/contrib.rb +39 -0
  520. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/cookies.rb +331 -0
  521. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/decompile.rb +121 -0
  522. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/engine_tracking.rb +96 -0
  523. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/extension.rb +95 -0
  524. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/json.rb +131 -0
  525. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/link_header.rb +132 -0
  526. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/multi_route.rb +87 -0
  527. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/namespace.rb +284 -0
  528. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/reloader.rb +394 -0
  529. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/respond_with.rb +247 -0
  530. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/streaming.rb +243 -0
  531. data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/test_helpers.rb +87 -0
  532. data/lib/vendor/tilt-1.4.1/lib/tilt/asciidoc.rb +34 -0
  533. data/lib/vendor/tilt-1.4.1/lib/tilt/builder.rb +40 -0
  534. data/lib/vendor/tilt-1.4.1/lib/tilt/coffee.rb +54 -0
  535. data/lib/vendor/tilt-1.4.1/lib/tilt/css.rb +80 -0
  536. data/lib/vendor/tilt-1.4.1/lib/tilt/csv.rb +71 -0
  537. data/lib/vendor/tilt-1.4.1/lib/tilt/erb.rb +110 -0
  538. data/lib/vendor/tilt-1.4.1/lib/tilt/etanni.rb +27 -0
  539. data/lib/vendor/tilt-1.4.1/lib/tilt/haml.rb +64 -0
  540. data/lib/vendor/tilt-1.4.1/lib/tilt/liquid.rb +45 -0
  541. data/lib/vendor/tilt-1.4.1/lib/tilt/markaby.rb +52 -0
  542. data/lib/vendor/tilt-1.4.1/lib/tilt/markdown.rb +214 -0
  543. data/lib/vendor/tilt-1.4.1/lib/tilt/nokogiri.rb +43 -0
  544. data/lib/vendor/tilt-1.4.1/lib/tilt/plain.rb +20 -0
  545. data/lib/vendor/tilt-1.4.1/lib/tilt/radius.rb +55 -0
  546. data/lib/vendor/tilt-1.4.1/lib/tilt/rdoc.rb +47 -0
  547. data/lib/vendor/tilt-1.4.1/lib/tilt/string.rb +21 -0
  548. data/lib/vendor/tilt-1.4.1/lib/tilt/template.rb +292 -0
  549. data/lib/vendor/tilt-1.4.1/lib/tilt/textile.rb +30 -0
  550. data/lib/vendor/tilt-1.4.1/lib/tilt/wiki.rb +58 -0
  551. data/lib/vendor/tilt-1.4.1/lib/tilt/yajl.rb +94 -0
  552. data/lib/vendor/tilt-1.4.1/lib/tilt.rb +204 -0
  553. data/scout_realtime.gemspec +30 -0
  554. data/test/data_for_testing.rb +1 -0
  555. data/test/lib/metric_test.rb +48 -0
  556. data/test/models/cpu_test.rb +24 -0
  557. data/test/models/disk_test.rb +24 -0
  558. data/test/models/memory_test.rb +24 -0
  559. data/test/models/network_test.rb +24 -0
  560. data/test/models/processes_test.rb +24 -0
  561. data/test/runner_test.rb +30 -0
  562. data/test/test_helper.rb +4 -0
  563. metadata +730 -0
@@ -0,0 +1,247 @@
1
+ require 'sinatra/json'
2
+ require 'sinatra/base'
3
+
4
+ module Sinatra
5
+ #
6
+ # = Sinatra::RespondWith
7
+ #
8
+ # These extensions let Sinatra automatically choose what template to render or
9
+ # action to perform depending on the request's Accept header.
10
+ #
11
+ # Example:
12
+ #
13
+ # # Without Sinatra::RespondWith
14
+ # get '/' do
15
+ # data = { :name => 'example' }
16
+ # request.accept.each do |type|
17
+ # case type.to_s
18
+ # when 'text/html'
19
+ # halt haml(:index, :locals => data)
20
+ # when 'text/json'
21
+ # halt data.to_json
22
+ # when 'application/atom+xml'
23
+ # halt nokogiri(:'index.atom', :locals => data)
24
+ # when 'application/xml', 'text/xml'
25
+ # halt nokogiri(:'index.xml', :locals => data)
26
+ # when 'text/plain'
27
+ # halt 'just an example'
28
+ # end
29
+ # end
30
+ # error 406
31
+ # end
32
+ #
33
+ # # With Sinatra::RespondWith
34
+ # get '/' do
35
+ # respond_with :index, :name => 'example' do |f|
36
+ # f.txt { 'just an example' }
37
+ # end
38
+ # end
39
+ #
40
+ # Both helper methods +respond_to+ and +respond_with+ let you define custom
41
+ # handlers like the one above for +text/plain+. +respond_with+ additionally
42
+ # takes a template name and/or an object to offer the following default
43
+ # behavior:
44
+ #
45
+ # * If a template name is given, search for a template called
46
+ # +name.format.engine+ (+index.xml.nokogiri+ in the above example).
47
+ # * If a template name is given, search for a templated called +name.engine+
48
+ # for engines known to result in the requested format (+index.haml+).
49
+ # * If a file extension associated with the mime type is known to Sinatra, and
50
+ # the object responds to +to_extension+, call that method and use the result
51
+ # (+data.to_json+).
52
+ #
53
+ # == Security
54
+ #
55
+ # Since methods are triggered based on client input, this can lead to security
56
+ # issues (but not as severe as those might appear in the first place: keep in
57
+ # mind that only known file extensions are used). You should limit
58
+ # the possible formats you serve.
59
+ #
60
+ # This is possible with the +provides+ condition:
61
+ #
62
+ # get '/', :provides => [:html, :json, :xml, :atom] do
63
+ # respond_with :index, :name => 'example'
64
+ # end
65
+ #
66
+ # However, since you have to set +provides+ for every route, this extension
67
+ # adds an app global (class method) `respond_to`, that lets you define content
68
+ # types for all routes:
69
+ #
70
+ # respond_to :html, :json, :xml, :atom
71
+ # get('/a') { respond_with :index, :name => 'a' }
72
+ # get('/b') { respond_with :index, :name => 'b' }
73
+ #
74
+ # == Custom Types
75
+ #
76
+ # Use the +on+ method for defining actions for custom types:
77
+ #
78
+ # get '/' do
79
+ # respond_to do |f|
80
+ # f.xml { nokogiri :index }
81
+ # f.on('application/custom') { custom_action }
82
+ # f.on('text/*') { data.to_s }
83
+ # f.on('*/*') { "matches everything" }
84
+ # end
85
+ # end
86
+ #
87
+ # Definition order does not matter.
88
+ module RespondWith
89
+ class Format
90
+ def initialize(app)
91
+ @app, @map, @generic, @default = app, {}, {}, nil
92
+ end
93
+
94
+ def on(type, &block)
95
+ @app.settings.mime_types(type).each do |mime|
96
+ case mime
97
+ when '*/*' then @default = block
98
+ when /^([^\/]+)\/\*$/ then @generic[$1] = block
99
+ else @map[mime] = block
100
+ end
101
+ end
102
+ end
103
+
104
+ def finish
105
+ yield self if block_given?
106
+ mime_type = @app.content_type ||
107
+ @app.request.preferred_type(@map.keys) ||
108
+ @app.request.preferred_type ||
109
+ 'text/html'
110
+ type = mime_type.split(/\s*;\s*/, 2).first
111
+ handlers = [@map[type], @generic[type[/^[^\/]+/]], @default].compact
112
+ handlers.each do |block|
113
+ if result = block.call(type)
114
+ @app.content_type mime_type
115
+ @app.halt result
116
+ end
117
+ end
118
+ @app.halt 406
119
+ end
120
+
121
+ def method_missing(method, *args, &block)
122
+ return super if args.any? or block.nil? or not @app.mime_type(method)
123
+ on(method, &block)
124
+ end
125
+ end
126
+
127
+ module Helpers
128
+ include Sinatra::JSON
129
+
130
+ def respond_with(template, object = nil, &block)
131
+ object, template = template, nil unless Symbol === template
132
+ format = Format.new(self)
133
+ format.on "*/*" do |type|
134
+ exts = settings.ext_map[type]
135
+ exts << :xml if type.end_with? '+xml'
136
+ if template
137
+ args = template_cache.fetch(type, template) { template_for(template, exts) }
138
+ if args.any?
139
+ locals = { :object => object }
140
+ locals.merge! object.to_hash if object.respond_to? :to_hash
141
+
142
+ renderer = args.first
143
+ options = args[1..-1] + [{:locals => locals}]
144
+
145
+ halt send(renderer, *options)
146
+ end
147
+ end
148
+ if object
149
+ exts.each do |ext|
150
+ halt json(object) if ext == :json
151
+ next unless object.respond_to? method = "to_#{ext}"
152
+ halt(*object.send(method))
153
+ end
154
+ end
155
+ false
156
+ end
157
+ format.finish(&block)
158
+ end
159
+
160
+ def respond_to(&block)
161
+ Format.new(self).finish(&block)
162
+ end
163
+
164
+ private
165
+
166
+ def template_for(name, exts)
167
+ # in production this is cached, so don't worry too much about runtime
168
+ possible = []
169
+ settings.template_engines[:all].each do |engine|
170
+ exts.each { |ext| possible << [engine, "#{name}.#{ext}"] }
171
+ end
172
+ exts.each do |ext|
173
+ settings.template_engines[ext].each { |e| possible << [e, name] }
174
+ end
175
+ possible.each do |engine, template|
176
+ # not exactly like Tilt[engine], but does not trigger a require
177
+ klass = Tilt.mappings[Tilt.normalize(engine)].first
178
+ find_template(settings.views, template, klass) do |file|
179
+ next unless File.exist? file
180
+ return settings.rendering_method(engine) << template.to_sym
181
+ end
182
+ end
183
+ [] # nil or false would not be cached
184
+ end
185
+ end
186
+
187
+ def remap_extensions
188
+ ext_map.clear
189
+ Rack::Mime::MIME_TYPES.each { |e,t| ext_map[t] << e[1..-1].to_sym }
190
+ ext_map['text/javascript'] << 'js'
191
+ ext_map['text/xml'] << 'xml'
192
+ end
193
+
194
+ def mime_type(*)
195
+ result = super
196
+ remap_extensions
197
+ result
198
+ end
199
+
200
+ def respond_to(*formats)
201
+ if formats.any?
202
+ @respond_to ||= []
203
+ @respond_to.concat formats
204
+ elsif @respond_to.nil? and superclass.respond_to? :respond_to
205
+ superclass.respond_to
206
+ else
207
+ @respond_to
208
+ end
209
+ end
210
+
211
+ def rendering_method(engine)
212
+ return [engine] if Sinatra::Templates.method_defined? engine
213
+ return [:mab] if engine.to_sym == :markaby
214
+ [:render, :engine]
215
+ end
216
+
217
+ private
218
+
219
+ def compile!(verb, path, block, options = {})
220
+ options[:provides] ||= respond_to if respond_to
221
+ super
222
+ end
223
+
224
+ ENGINES = {
225
+ :css => [:less, :sass, :scss],
226
+ :xml => [:builder, :nokogiri],
227
+ :js => [:coffee],
228
+ :json => [:yajl],
229
+ :html => [:erb, :erubis, :haml, :slim, :liquid, :radius, :mab, :markdown,
230
+ :textile, :rdoc],
231
+ :all => Sinatra::Templates.instance_methods.map(&:to_sym) + [:mab] -
232
+ [:find_template, :markaby]
233
+ }
234
+
235
+ ENGINES.default = []
236
+
237
+ def self.registered(base)
238
+ base.set :ext_map, Hash.new { |h,k| h[k] = [] }
239
+ base.set :template_engines, ENGINES.dup
240
+ base.remap_extensions
241
+ base.helpers Helpers
242
+ end
243
+ end
244
+
245
+ register RespondWith
246
+ Delegator.delegate :respond_to
247
+ end
@@ -0,0 +1,243 @@
1
+ require 'sinatra/base'
2
+ require 'backports'
3
+
4
+ module Sinatra
5
+
6
+ # = Sinatra::Streaming
7
+ #
8
+ # Sinatra 1.3 introduced the +stream+ helper. This addon improves the
9
+ # streaming API by making the stream object immitate an IO object, turning
10
+ # it into a real Deferrable and making the body play nicer with middleware
11
+ # unaware of streaming.
12
+ #
13
+ # == IO-like behavior
14
+ #
15
+ # This is useful when passing the stream object to a library expecting an
16
+ # IO or StringIO object.
17
+ #
18
+ # get '/' do
19
+ # stream do |out|
20
+ # out.puts "Hello World!", "How are you?"
21
+ # out.write "Written #{out.pos} bytes so far!\n"
22
+ # out.putc(65) unless out.closed?
23
+ # out.flush
24
+ # end
25
+ # end
26
+ #
27
+ # == Better Middleware Handling
28
+ #
29
+ # Blocks passed to #map! or #map will actually be applied when streaming
30
+ # takes place (as you might have suspected, #map! applies modifications
31
+ # to the current body, while #map creates a new one):
32
+ #
33
+ # class StupidMiddleware
34
+ # def initialize(app) @app = app end
35
+ #
36
+ # def call(env)
37
+ # status, headers, body = @app.call(env)
38
+ # body.map! { |e| e.upcase }
39
+ # [status, headers, body]
40
+ # end
41
+ # end
42
+ #
43
+ # use StupidMiddleware
44
+ #
45
+ # get '/' do
46
+ # stream do |out|
47
+ # out.puts "still"
48
+ # sleep 1
49
+ # out.puts "streaming"
50
+ # end
51
+ # end
52
+ #
53
+ # Even works if #each is used to generate an Enumerator:
54
+ #
55
+ # def call(env)
56
+ # status, headers, body = @app.call(env)
57
+ # body = body.each.map { |s| s.upcase }
58
+ # [status, headers, body]
59
+ # end
60
+ #
61
+ # Note that both examples violate the Rack specification.
62
+ #
63
+ # == Setup
64
+ #
65
+ # In a classic application:
66
+ #
67
+ # require "sinatra"
68
+ # require "sinatra/streaming"
69
+ #
70
+ # In a modular application:
71
+ #
72
+ # require "sinatra/base"
73
+ # require "sinatra/streaming"
74
+ #
75
+ # class MyApp < Sinatra::Base
76
+ # helpers Sinatra::Streaming
77
+ # end
78
+ module Streaming
79
+ def stream(*)
80
+ stream = super
81
+ stream.extend Stream
82
+ stream.app = self
83
+ env['async.close'].callback { stream.close } if env.key? 'async.close'
84
+ stream
85
+ end
86
+
87
+ module Stream
88
+
89
+ attr_accessor :app, :lineno, :pos, :transformer, :closed
90
+ alias tell pos
91
+ alias closed? closed
92
+
93
+ def self.extended(obj)
94
+ obj.closed, obj.lineno, obj.pos = false, 0, 0
95
+ obj.callback { obj.closed = true }
96
+ obj.errback { obj.closed = true }
97
+ end
98
+
99
+ def <<(data)
100
+ raise IOError, 'not opened for writing' if closed?
101
+ data = data.to_s
102
+ data = @transformer[data] if @transformer
103
+ @pos += data.bytesize
104
+ super(data)
105
+ end
106
+
107
+ def each
108
+ # that way body.each.map { ... } works
109
+ return self unless block_given?
110
+ super
111
+ end
112
+
113
+ def map(&block)
114
+ # dup would not copy the mixin
115
+ clone.map!(&block)
116
+ end
117
+
118
+ def map!(&block)
119
+ if @transformer
120
+ inner, outer = @transformer, block
121
+ block = proc { |value| outer[inner[value]] }
122
+ end
123
+ @transformer = block
124
+ self
125
+ end
126
+
127
+ def write(data)
128
+ self << data
129
+ data.to_s.bytesize
130
+ end
131
+
132
+ alias syswrite write
133
+ alias write_nonblock write
134
+
135
+ def print(*args)
136
+ args.each { |arg| self << arg }
137
+ nil
138
+ end
139
+
140
+ def printf(format, *args)
141
+ print(format.to_s % args)
142
+ end
143
+
144
+ def putc(c)
145
+ print c.chr
146
+ end
147
+
148
+ def puts(*args)
149
+ args.each { |arg| self << "#{arg}\n" }
150
+ nil
151
+ end
152
+
153
+ def close_read
154
+ raise IOError, "closing non-duplex IO for reading"
155
+ end
156
+
157
+ def closed_read?
158
+ true
159
+ end
160
+
161
+ def closed_write?
162
+ closed?
163
+ end
164
+
165
+ def external_encoding
166
+ Encoding.find settings.default_encoding
167
+ rescue NameError
168
+ settings.default_encoding
169
+ end
170
+
171
+ def closed?
172
+ @closed
173
+ end
174
+
175
+ def settings
176
+ app.settings
177
+ end
178
+
179
+ def rewind
180
+ @pos = @lineno = 0
181
+ end
182
+
183
+ def not_open_for_reading(*)
184
+ raise IOError, "not opened for reading"
185
+ end
186
+
187
+ alias bytes not_open_for_reading
188
+ alias eof? not_open_for_reading
189
+ alias eof not_open_for_reading
190
+ alias getbyte not_open_for_reading
191
+ alias getc not_open_for_reading
192
+ alias gets not_open_for_reading
193
+ alias read not_open_for_reading
194
+ alias read_nonblock not_open_for_reading
195
+ alias readbyte not_open_for_reading
196
+ alias readchar not_open_for_reading
197
+ alias readline not_open_for_reading
198
+ alias readlines not_open_for_reading
199
+ alias readpartial not_open_for_reading
200
+ alias sysread not_open_for_reading
201
+ alias ungetbyte not_open_for_reading
202
+ alias ungetc not_open_for_reading
203
+ private :not_open_for_reading
204
+
205
+ def enum_not_open_for_reading(*)
206
+ not_open_for_reading if block_given?
207
+ enum_for(:not_open_for_reading)
208
+ end
209
+
210
+ alias chars enum_not_open_for_reading
211
+ alias each_line enum_not_open_for_reading
212
+ alias each_byte enum_not_open_for_reading
213
+ alias each_char enum_not_open_for_reading
214
+ alias lines enum_not_open_for_reading
215
+ undef enum_not_open_for_reading
216
+
217
+ def dummy(*) end
218
+ alias flush dummy
219
+ alias fsync dummy
220
+ alias internal_encoding dummy
221
+ alias pid dummy
222
+ undef dummy
223
+
224
+ def seek(*)
225
+ 0
226
+ end
227
+
228
+ alias sysseek seek
229
+
230
+ def sync
231
+ true
232
+ end
233
+
234
+ def tty?
235
+ false
236
+ end
237
+
238
+ alias isatty tty?
239
+ end
240
+ end
241
+
242
+ helpers Streaming
243
+ end
@@ -0,0 +1,87 @@
1
+ require 'sinatra/base'
2
+ require 'rack/test'
3
+ require 'rack'
4
+ require 'forwardable'
5
+
6
+ module Sinatra
7
+ Base.set :environment, :test
8
+
9
+ module TestHelpers
10
+ class Session < Rack::Test::Session
11
+ def global_env
12
+ @global_env ||= {}
13
+ end
14
+
15
+ private
16
+
17
+ def default_env
18
+ super.merge global_env
19
+ end
20
+ end
21
+
22
+ include Rack::Test::Methods
23
+ extend Forwardable
24
+ attr_accessor :settings
25
+
26
+ def_delegators :last_response, :body, :headers, :status, :errors
27
+ def_delegators :app, :configure, :set, :enable, :disable, :use, :helpers, :register
28
+ def_delegators :current_session, :env_for
29
+ def_delegators :rack_mock_session, :cookie_jar
30
+
31
+ def mock_app(base = Sinatra::Base, &block)
32
+ inner = nil
33
+ @app = Sinatra.new(base) do
34
+ inner = self
35
+ class_eval(&block)
36
+ end
37
+ @settings = inner
38
+ app
39
+ end
40
+
41
+ def app=(base)
42
+ @app = base
43
+ end
44
+
45
+ alias set_app app=
46
+
47
+ def app
48
+ @app ||= Class.new Sinatra::Base
49
+ Rack::Lint.new @app
50
+ end
51
+
52
+ unless method_defined? :options
53
+ def options(uri, params = {}, env = {}, &block)
54
+ env = env_for(uri, env.merge(:method => "OPTIONS", :params => params))
55
+ current_session.send(:process_request, uri, env, &block)
56
+ end
57
+ end
58
+
59
+ unless method_defined? :patch
60
+ def patch(uri, params = {}, env = {}, &block)
61
+ env = env_for(uri, env.merge(:method => "PATCH", :params => params))
62
+ current_session.send(:process_request, uri, env, &block)
63
+ end
64
+ end
65
+
66
+ def last_request?
67
+ last_request
68
+ true
69
+ rescue Rack::Test::Error
70
+ false
71
+ end
72
+
73
+ def session
74
+ return {} unless last_request?
75
+ raise Rack::Test::Error, "session not enabled for app" unless last_env["rack.session"] or app.session?
76
+ last_request.session
77
+ end
78
+
79
+ def last_env
80
+ last_request.env
81
+ end
82
+
83
+ def build_rack_test_session(name) # :nodoc:
84
+ Session.new rack_mock_session(name)
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,34 @@
1
+ require 'tilt/template'
2
+
3
+ # AsciiDoc see: http://asciidoc.org/
4
+ module Tilt
5
+ # Asciidoctor implementation for AsciiDoc see:
6
+ # http://asciidoctor.github.com/
7
+ #
8
+ # Asciidoctor is an open source, pure-Ruby processor for
9
+ # converting AsciiDoc documents or strings into HTML 5,
10
+ # DocBook 4.5 and other formats.
11
+ class AsciidoctorTemplate < Template
12
+ self.default_mime_type = 'text/html'
13
+
14
+ def self.engine_initialized?
15
+ defined? ::Asciidoctor::Document
16
+ end
17
+
18
+ def initialize_engine
19
+ require_template_library 'asciidoctor'
20
+ end
21
+
22
+ def prepare
23
+ options[:header_footer] = false if options[:header_footer].nil?
24
+ end
25
+
26
+ def evaluate(scope, locals, &block)
27
+ @output ||= Asciidoctor.render(data, options, &block)
28
+ end
29
+
30
+ def allows_script?
31
+ false
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,40 @@
1
+ require 'tilt/template'
2
+
3
+ module Tilt
4
+ # Builder template implementation. See:
5
+ # http://builder.rubyforge.org/
6
+ class BuilderTemplate < Template
7
+ self.default_mime_type = 'text/xml'
8
+
9
+ def self.engine_initialized?
10
+ defined? ::Builder
11
+ end
12
+
13
+ def initialize_engine
14
+ require_template_library 'builder'
15
+ end
16
+
17
+ def prepare; end
18
+
19
+ def evaluate(scope, locals, &block)
20
+ return super(scope, locals, &block) if data.respond_to?(:to_str)
21
+ xml = ::Builder::XmlMarkup.new(:indent => 2)
22
+ data.call(xml)
23
+ xml.target!
24
+ end
25
+
26
+ def precompiled_preamble(locals)
27
+ return super if locals.include? :xml
28
+ "xml = ::Builder::XmlMarkup.new(:indent => 2)\n#{super}"
29
+ end
30
+
31
+ def precompiled_postamble(locals)
32
+ "xml.target!"
33
+ end
34
+
35
+ def precompiled_template(locals)
36
+ data.to_str
37
+ end
38
+ end
39
+ end
40
+
@@ -0,0 +1,54 @@
1
+ require 'tilt/template'
2
+
3
+ module Tilt
4
+ # CoffeeScript template implementation. See:
5
+ # http://coffeescript.org/
6
+ #
7
+ # CoffeeScript templates do not support object scopes, locals, or yield.
8
+ class CoffeeScriptTemplate < Template
9
+ self.default_mime_type = 'application/javascript'
10
+
11
+ @@default_bare = false
12
+
13
+ def self.default_bare
14
+ @@default_bare
15
+ end
16
+
17
+ def self.default_bare=(value)
18
+ @@default_bare = value
19
+ end
20
+
21
+ # DEPRECATED
22
+ def self.default_no_wrap
23
+ @@default_bare
24
+ end
25
+
26
+ # DEPRECATED
27
+ def self.default_no_wrap=(value)
28
+ @@default_bare = value
29
+ end
30
+
31
+ def self.engine_initialized?
32
+ defined? ::CoffeeScript
33
+ end
34
+
35
+ def initialize_engine
36
+ require_template_library 'coffee_script'
37
+ end
38
+
39
+ def prepare
40
+ if !options.key?(:bare) and !options.key?(:no_wrap)
41
+ options[:bare] = self.class.default_bare
42
+ end
43
+ end
44
+
45
+ def evaluate(scope, locals, &block)
46
+ @output ||= CoffeeScript.compile(data, options)
47
+ end
48
+
49
+ def allows_script?
50
+ false
51
+ end
52
+ end
53
+ end
54
+