scout_realtime 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +21 -0
- data/CHANGELOG.md +7 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +37 -0
- data/Rakefile +16 -0
- data/Vagrantfile +7 -0
- data/bin/scout_realtime +117 -0
- data/lib/scout_realtime/lib/aggregator.rb +8 -0
- data/lib/scout_realtime/lib/metric.rb +36 -0
- data/lib/scout_realtime/lib/multi_aggregator.rb +12 -0
- data/lib/scout_realtime/lib/ring_buffer.rb +25 -0
- data/lib/scout_realtime/lib/trollop.rb +782 -0
- data/lib/scout_realtime/main.rb +76 -0
- data/lib/scout_realtime/models/cpu.rb +21 -0
- data/lib/scout_realtime/models/disk.rb +21 -0
- data/lib/scout_realtime/models/memory.rb +17 -0
- data/lib/scout_realtime/models/network.rb +14 -0
- data/lib/scout_realtime/models/processes.rb +13 -0
- data/lib/scout_realtime/runner.rb +34 -0
- data/lib/scout_realtime/version.rb +5 -0
- data/lib/scout_realtime/web/favicon.ico +0 -0
- data/lib/scout_realtime/web/images/logo.png +0 -0
- data/lib/scout_realtime/web/images/pause.png +0 -0
- data/lib/scout_realtime/web/images/play.png +0 -0
- data/lib/scout_realtime/web/javascripts/application.js +265 -0
- data/lib/scout_realtime/web/javascripts/bootstrap.min.js +7 -0
- data/lib/scout_realtime/web/javascripts/charts.js +189 -0
- data/lib/scout_realtime/web/javascripts/d3.barchart.js +210 -0
- data/lib/scout_realtime/web/javascripts/d3.linechart.js +168 -0
- data/lib/scout_realtime/web/javascripts/d3.v3.min.js +5 -0
- data/lib/scout_realtime/web/javascripts/handlebars-v1.1.0.js +2563 -0
- data/lib/scout_realtime/web/javascripts/jquery.js +3010 -0
- data/lib/scout_realtime/web/javascripts/metrics_for_development.js +6 -0
- data/lib/scout_realtime/web/stylesheets/bootstrap-theme.min.css +7 -0
- data/lib/scout_realtime/web/stylesheets/bootstrap.min.css +7 -0
- data/lib/scout_realtime/web/stylesheets/styles.css +254 -0
- data/lib/scout_realtime/web/views/graph.erb +6 -0
- data/lib/scout_realtime/web/views/header.erb +8 -0
- data/lib/scout_realtime/web/views/index.erb +21 -0
- data/lib/scout_realtime/web/views/layout.erb +33 -0
- data/lib/scout_realtime/web/views/overview_charts.erb +30 -0
- data/lib/scout_realtime/web/views/processes.erb +31 -0
- data/lib/scout_realtime/web/views/sidebar.erb +19 -0
- data/lib/scout_realtime/web_app.rb +59 -0
- data/lib/scout_realtime.rb +58 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/bytes.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/chars.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/each.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/each_byte.rb +9 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/each_char.rb +35 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/each_line.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/getbyte.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/lines.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf/readbyte.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/argf.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/collect.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/combination.rb +24 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/cycle.rb +16 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/delete_if.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/each.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/each_index.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/find_index.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/flatten.rb +47 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/index.rb +15 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/map.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/permutation.rb +30 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/pop.rb +15 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/product.rb +32 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/reject.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/reverse_each.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/rindex.rb +15 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/select.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/shift.rb +13 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array/shuffle.rb +17 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/array.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/binding/eval.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/binding.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/dir/each.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/dir/foreach.rb +9 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/dir.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/count.rb +17 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/cycle.rb +24 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/detect.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/drop.rb +13 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/drop_while.rb +16 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/each_cons.rb +4 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/each_slice.rb +4 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/each_with_index.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/entries.rb +11 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/find.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/find_all.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/find_index.rb +21 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/first.rb +21 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/group_by.rb +14 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/inject.rb +14 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/max_by.rb +16 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/min_by.rb +16 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/minmax.rb +21 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/minmax_by.rb +19 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/none.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/one.rb +23 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/partition.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/reduce.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/reject.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/reverse_each.rb +12 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/select.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/sort_by.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/take.rb +9 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/take_while.rb +14 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable/to_a.rb +12 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerable.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerator/each.rb +6 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerator/next.rb +15 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerator/rewind.rb +13 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerator/with_index.rb +14 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/enumerator.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/env/delete_if.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/env/each.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/env/each_key.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/env/each_pair.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/env/each_value.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/env/reject.rb +4 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/env/select.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/env.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/fixnum/div.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/fixnum/fdiv.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/fixnum.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/float/fdiv.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/float.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/gc/stress.rb +9 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/gc.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/constructor.rb +25 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/delete_if.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/each.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/each_key.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/each_pair.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/each_value.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/eql.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/hash.rb +17 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/reject.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash/select.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/hash.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/downto.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/even.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/odd.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/ord.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/pred.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/times.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer/upto.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/integer.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/bytes.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/chars.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/each.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/each_byte.rb +6 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/each_char.rb +34 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/each_line.rb +6 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/foreach.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/getbyte.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/lines.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io/readbyte.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/io.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/kernel/__method__.rb +8 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/kernel/instance_exec.rb +10 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/kernel/tap.rb +8 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/kernel.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/method/name.rb +49 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/method.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/module/class_exec.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/module/module_exec.rb +11 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/module.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/numeric/step.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/numeric.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/object_space/each_object.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/object_space.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/process/exec.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/process.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/range/each.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/range/step.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/range.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/regexp/union.rb +11 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/regexp.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/stdlib/tmpdir.rb +44 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/stdlib.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/stop_iteration.rb +14 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/bytes.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/bytesize.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/each.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/each_byte.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/each_char.rb +13 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/each_line.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/end_with.rb +12 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/lines.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/partition.rb +20 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/rpartition.rb +19 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/start_with.rb +12 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string/upto.rb +15 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/string.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/struct/each.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/struct/each_pair.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/struct.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/symbol/to_proc.rb +8 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7/symbol.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.7.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.8.rb +2 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.8.rb +2 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/array/sample.rb +19 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/array/try_convert.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/array.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/dir/to_path.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/dir.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/enumerable/each_with_index.rb +14 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/enumerable/each_with_object.rb +9 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/enumerable.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/enumerator/new.rb +40 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/enumerator/with_object.rb +6 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/enumerator.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/env/key.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/env.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/atime.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/basename.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/binary.rb +6 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/blockdev.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/chardev.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/chmod.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/chown.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/ctime.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/delete.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/directory.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/dirname.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/executable.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/executable_real.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/exist.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/exists.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/expand_path.rb +14 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/extname.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/file.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/ftype.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/grpowned.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/join.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/lchmod.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/lchown.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/link.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/lstat.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/mtime.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/new.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/open.rb +23 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/owned.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/pipe.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/readable.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/readable_real.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/readlink.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/rename.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/setgid.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/setuid.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/size.rb +14 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/socket.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/split.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/stat.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/sticky.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/symlink.rb +6 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/to_path.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/truncate.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/unlink.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/writable.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/writable_real.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file/zero.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/file.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/float/round.rb +21 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/float.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/hash/assoc.rb +12 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/hash/default_proc.rb +14 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/hash/key.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/hash/rassoc.rb +9 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/hash/try_convert.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/hash.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/integer/magnitude.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/integer/round.rb +24 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/integer.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/io/binread.rb +10 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/io/open.rb +21 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/io/try_convert.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/io/ungetbyte.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/io.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/kernel/__callee__.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/kernel/define_singleton_method.rb +9 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/kernel/public_method.rb +11 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/kernel/public_send.rb +13 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/kernel/require_relative.rb +14 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/kernel.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/math/log.rb +20 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/math/log2.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/math.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/numeric/round.rb +11 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/numeric.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/proc/case_compare.rb +6 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/proc/curry.rb +24 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/proc/lambda.rb +40 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/proc/yield.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/proc.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/range/cover.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/range.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/regexp/try_convert.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/regexp.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/stdlib/prime.rb +497 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/stdlib.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/ascii_only.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/chr.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/clear.rb +8 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/codepoints.rb +8 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/each_codepoint.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/getbyte.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/ord.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/setbyte.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string/try_convert.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/string.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/capitalize.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/casecmp.rb +8 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/comparable.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/comparison.rb +8 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/downcase.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/element_reference.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/empty.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/length.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/match.rb +9 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/next.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/size.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/succ.rb +8 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/swapcase.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol/upcase.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1/symbol.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.1.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/keep_if.rb +8 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/product.rb +26 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/repeated_combination.rb +25 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/repeated_permutation.rb +26 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/rotate.rb +17 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/select.rb +8 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/sort_by.rb +9 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/uniq.rb +30 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/array.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/complex/to_r.rb +10 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/complex.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/dir/home.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/dir.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/enumerable/chunk.rb +39 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/enumerable/collect_concat.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/enumerable/each_entry.rb +11 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/enumerable/flat_map.rb +11 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/enumerable/slice_before.rb +30 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/enumerable.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/float/infinity.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/float/nan.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/float.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/hash/keep_if.rb +8 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/hash/select.rb +9 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/hash.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/kernel/singleton_class.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/kernel.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/random.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/stdlib/matrix/eigenvalue_decomposition.rb +886 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/stdlib/matrix/lup_decomposition.rb +218 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/stdlib/matrix.rb +1871 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/stdlib/set.rb +13 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2/stdlib.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.2.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/file/null.rb +16 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/file.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/io/advise.rb +24 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/io/binwrite.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/io/write.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/io.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/string/byteslice.rb +36 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/string/prepend.rb +10 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.3/string.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.3.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/1.9.rb +2 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/array/bsearch.rb +32 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/array.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/enumerable/lazy.rb +216 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/enumerable.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/enumerator/lazy.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/enumerator.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/env/to_h.rb +5 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/env.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/hash/default_proc.rb +16 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/hash/to_h.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/hash.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/nil/to_h.rb +7 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/nil.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/range/bsearch.rb +49 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/range.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/stdlib/abbrev.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/stdlib/fake_stdlib_lib.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/stdlib/ostruct.rb +27 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/stdlib.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/struct/to_h.rb +9 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0/struct.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.0.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/2.0.rb +2 -0
- data/lib/vendor/backports-3.3.5/lib/backports/basic_object.rb +53 -0
- data/lib/vendor/backports-3.3.5/lib/backports/extra/random/MT19937.rb +76 -0
- data/lib/vendor/backports-3.3.5/lib/backports/extra/random/bits_and_bytes.rb +91 -0
- data/lib/vendor/backports-3.3.5/lib/backports/extra/random/implementation.rb +93 -0
- data/lib/vendor/backports-3.3.5/lib/backports/extra/random/load.rb +17 -0
- data/lib/vendor/backports-3.3.5/lib/backports/force/array_map.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/force/enumerable_map.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports/force/hash_select.rb +9 -0
- data/lib/vendor/backports-3.3.5/lib/backports/force/string_length.rb +10 -0
- data/lib/vendor/backports-3.3.5/lib/backports/force/string_size.rb +1 -0
- data/lib/vendor/backports-3.3.5/lib/backports/rails/array.rb +6 -0
- data/lib/vendor/backports-3.3.5/lib/backports/rails/enumerable.rb +12 -0
- data/lib/vendor/backports-3.3.5/lib/backports/rails/hash.rb +31 -0
- data/lib/vendor/backports-3.3.5/lib/backports/rails/kernel.rb +6 -0
- data/lib/vendor/backports-3.3.5/lib/backports/rails/module.rb +6 -0
- data/lib/vendor/backports-3.3.5/lib/backports/rails/string.rb +42 -0
- data/lib/vendor/backports-3.3.5/lib/backports/rails.rb +4 -0
- data/lib/vendor/backports-3.3.5/lib/backports/tools.rb +343 -0
- data/lib/vendor/backports-3.3.5/lib/backports/version.rb +3 -0
- data/lib/vendor/backports-3.3.5/lib/backports.rb +4 -0
- data/lib/vendor/dante-0.2.0/lib/dante/runner.rb +275 -0
- data/lib/vendor/dante-0.2.0/lib/dante/version.rb +3 -0
- data/lib/vendor/dante-0.2.0/lib/dante.rb +26 -0
- data/lib/vendor/rack-1.5.2/lib/rack/auth/abstract/handler.rb +37 -0
- data/lib/vendor/rack-1.5.2/lib/rack/auth/abstract/request.rb +43 -0
- data/lib/vendor/rack-1.5.2/lib/rack/auth/basic.rb +58 -0
- data/lib/vendor/rack-1.5.2/lib/rack/auth/digest/md5.rb +129 -0
- data/lib/vendor/rack-1.5.2/lib/rack/auth/digest/nonce.rb +51 -0
- data/lib/vendor/rack-1.5.2/lib/rack/auth/digest/params.rb +53 -0
- data/lib/vendor/rack-1.5.2/lib/rack/auth/digest/request.rb +41 -0
- data/lib/vendor/rack-1.5.2/lib/rack/backports/uri/common_18.rb +56 -0
- data/lib/vendor/rack-1.5.2/lib/rack/backports/uri/common_192.rb +52 -0
- data/lib/vendor/rack-1.5.2/lib/rack/backports/uri/common_193.rb +29 -0
- data/lib/vendor/rack-1.5.2/lib/rack/body_proxy.rb +39 -0
- data/lib/vendor/rack-1.5.2/lib/rack/builder.rb +149 -0
- data/lib/vendor/rack-1.5.2/lib/rack/cascade.rb +52 -0
- data/lib/vendor/rack-1.5.2/lib/rack/chunked.rb +58 -0
- data/lib/vendor/rack-1.5.2/lib/rack/commonlogger.rb +64 -0
- data/lib/vendor/rack-1.5.2/lib/rack/conditionalget.rb +67 -0
- data/lib/vendor/rack-1.5.2/lib/rack/config.rb +20 -0
- data/lib/vendor/rack-1.5.2/lib/rack/content_length.rb +33 -0
- data/lib/vendor/rack-1.5.2/lib/rack/content_type.rb +29 -0
- data/lib/vendor/rack-1.5.2/lib/rack/deflater.rb +116 -0
- data/lib/vendor/rack-1.5.2/lib/rack/directory.rb +161 -0
- data/lib/vendor/rack-1.5.2/lib/rack/etag.rb +64 -0
- data/lib/vendor/rack-1.5.2/lib/rack/file.rb +138 -0
- data/lib/vendor/rack-1.5.2/lib/rack/handler/cgi.rb +61 -0
- data/lib/vendor/rack-1.5.2/lib/rack/handler/evented_mongrel.rb +8 -0
- data/lib/vendor/rack-1.5.2/lib/rack/handler/fastcgi.rb +98 -0
- data/lib/vendor/rack-1.5.2/lib/rack/handler/lsws.rb +61 -0
- data/lib/vendor/rack-1.5.2/lib/rack/handler/mongrel.rb +100 -0
- data/lib/vendor/rack-1.5.2/lib/rack/handler/scgi.rb +67 -0
- data/lib/vendor/rack-1.5.2/lib/rack/handler/swiftiplied_mongrel.rb +8 -0
- data/lib/vendor/rack-1.5.2/lib/rack/handler/thin.rb +27 -0
- data/lib/vendor/rack-1.5.2/lib/rack/handler/webrick.rb +81 -0
- data/lib/vendor/rack-1.5.2/lib/rack/handler.rb +107 -0
- data/lib/vendor/rack-1.5.2/lib/rack/head.rb +22 -0
- data/lib/vendor/rack-1.5.2/lib/rack/lint.rb +699 -0
- data/lib/vendor/rack-1.5.2/lib/rack/lobster.rb +65 -0
- data/lib/vendor/rack-1.5.2/lib/rack/lock.rb +26 -0
- data/lib/vendor/rack-1.5.2/lib/rack/logger.rb +18 -0
- data/lib/vendor/rack-1.5.2/lib/rack/methodoverride.rb +31 -0
- data/lib/vendor/rack-1.5.2/lib/rack/mime.rb +677 -0
- data/lib/vendor/rack-1.5.2/lib/rack/mock.rb +190 -0
- data/lib/vendor/rack-1.5.2/lib/rack/multipart/generator.rb +93 -0
- data/lib/vendor/rack-1.5.2/lib/rack/multipart/parser.rb +176 -0
- data/lib/vendor/rack-1.5.2/lib/rack/multipart/uploaded_file.rb +34 -0
- data/lib/vendor/rack-1.5.2/lib/rack/multipart.rb +34 -0
- data/lib/vendor/rack-1.5.2/lib/rack/nulllogger.rb +18 -0
- data/lib/vendor/rack-1.5.2/lib/rack/recursive.rb +61 -0
- data/lib/vendor/rack-1.5.2/lib/rack/reloader.rb +109 -0
- data/lib/vendor/rack-1.5.2/lib/rack/request.rb +380 -0
- data/lib/vendor/rack-1.5.2/lib/rack/response.rb +155 -0
- data/lib/vendor/rack-1.5.2/lib/rack/rewindable_input.rb +104 -0
- data/lib/vendor/rack-1.5.2/lib/rack/runtime.rb +27 -0
- data/lib/vendor/rack-1.5.2/lib/rack/sendfile.rb +155 -0
- data/lib/vendor/rack-1.5.2/lib/rack/server.rb +362 -0
- data/lib/vendor/rack-1.5.2/lib/rack/session/abstract/id.rb +398 -0
- data/lib/vendor/rack-1.5.2/lib/rack/session/cookie.rb +178 -0
- data/lib/vendor/rack-1.5.2/lib/rack/session/memcache.rb +93 -0
- data/lib/vendor/rack-1.5.2/lib/rack/session/pool.rb +79 -0
- data/lib/vendor/rack-1.5.2/lib/rack/showexceptions.rb +378 -0
- data/lib/vendor/rack-1.5.2/lib/rack/showstatus.rb +113 -0
- data/lib/vendor/rack-1.5.2/lib/rack/static.rb +153 -0
- data/lib/vendor/rack-1.5.2/lib/rack/urlmap.rb +76 -0
- data/lib/vendor/rack-1.5.2/lib/rack/utils/okjson.rb +599 -0
- data/lib/vendor/rack-1.5.2/lib/rack/utils.rb +628 -0
- data/lib/vendor/rack-1.5.2/lib/rack.rb +87 -0
- data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/authenticity_token.rb +31 -0
- data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/base.rb +119 -0
- data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/escaped_params.rb +87 -0
- data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/form_token.rb +23 -0
- data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/frame_options.rb +37 -0
- data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/http_origin.rb +32 -0
- data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/ip_spoofing.rb +23 -0
- data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/json_csrf.rb +35 -0
- data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/path_traversal.rb +47 -0
- data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/remote_referrer.rb +20 -0
- data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/remote_token.rb +22 -0
- data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/session_hijacking.rb +36 -0
- data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/version.rb +16 -0
- data/lib/vendor/rack-protection-1.5.1/lib/rack/protection/xss_header.rb +25 -0
- data/lib/vendor/rack-protection-1.5.1/lib/rack/protection.rb +40 -0
- data/lib/vendor/rack-protection-1.5.1/lib/rack-protection.rb +1 -0
- data/lib/vendor/sinatra-1.4.4/.yardopts +5 -0
- data/lib/vendor/sinatra-1.4.4/lib/sinatra/base.rb +2034 -0
- data/lib/vendor/sinatra-1.4.4/lib/sinatra/images/404.png +0 -0
- data/lib/vendor/sinatra-1.4.4/lib/sinatra/images/500.png +0 -0
- data/lib/vendor/sinatra-1.4.4/lib/sinatra/main.rb +34 -0
- data/lib/vendor/sinatra-1.4.4/lib/sinatra/show_exceptions.rb +345 -0
- data/lib/vendor/sinatra-1.4.4/lib/sinatra/version.rb +3 -0
- data/lib/vendor/sinatra-1.4.4/lib/sinatra.rb +4 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/capture.rb +124 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/config_file.rb +167 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/content_for.rb +125 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/contrib/all.rb +2 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/contrib/setup.rb +53 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/contrib/version.rb +17 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/contrib.rb +39 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/cookies.rb +331 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/decompile.rb +121 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/engine_tracking.rb +96 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/extension.rb +95 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/json.rb +131 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/link_header.rb +132 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/multi_route.rb +87 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/namespace.rb +284 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/reloader.rb +394 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/respond_with.rb +247 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/streaming.rb +243 -0
- data/lib/vendor/sinatra-contrib-1.4.1/lib/sinatra/test_helpers.rb +87 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/asciidoc.rb +34 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/builder.rb +40 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/coffee.rb +54 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/css.rb +80 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/csv.rb +71 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/erb.rb +110 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/etanni.rb +27 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/haml.rb +64 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/liquid.rb +45 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/markaby.rb +52 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/markdown.rb +214 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/nokogiri.rb +43 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/plain.rb +20 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/radius.rb +55 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/rdoc.rb +47 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/string.rb +21 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/template.rb +292 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/textile.rb +30 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/wiki.rb +58 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt/yajl.rb +94 -0
- data/lib/vendor/tilt-1.4.1/lib/tilt.rb +204 -0
- data/scout_realtime.gemspec +30 -0
- data/test/data_for_testing.rb +1 -0
- data/test/lib/metric_test.rb +48 -0
- data/test/models/cpu_test.rb +24 -0
- data/test/models/disk_test.rb +24 -0
- data/test/models/memory_test.rb +24 -0
- data/test/models/network_test.rb +24 -0
- data/test/models/processes_test.rb +24 -0
- data/test/runner_test.rb +30 -0
- data/test/test_helper.rb +4 -0
- metadata +730 -0
Binary file
|
Binary file
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'sinatra/base'
|
2
|
+
|
3
|
+
module Sinatra
|
4
|
+
class Application < Base
|
5
|
+
|
6
|
+
# we assume that the first file that requires 'sinatra' is the
|
7
|
+
# app_file. all other path related options are calculated based
|
8
|
+
# on this path by default.
|
9
|
+
set :app_file, caller_files.first || $0
|
10
|
+
|
11
|
+
set :run, Proc.new { File.expand_path($0) == File.expand_path(app_file) }
|
12
|
+
|
13
|
+
if run? && ARGV.any?
|
14
|
+
require 'optparse'
|
15
|
+
OptionParser.new { |op|
|
16
|
+
op.on('-p port', 'set the port (default is 4567)') { |val| set :port, Integer(val) }
|
17
|
+
op.on('-o addr', "set the host (default is #{bind})") { |val| set :bind, val }
|
18
|
+
op.on('-e env', 'set the environment (default is development)') { |val| set :environment, val.to_sym }
|
19
|
+
op.on('-s server', 'specify rack server/handler (default is thin)') { |val| set :server, val }
|
20
|
+
op.on('-x', 'turn on the mutex lock (default is off)') { set :lock, true }
|
21
|
+
}.parse!(ARGV.dup)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
at_exit { Application.run! if $!.nil? && Application.run? }
|
26
|
+
end
|
27
|
+
|
28
|
+
# include would include the module in Object
|
29
|
+
# extend only extends the `main` object
|
30
|
+
extend Sinatra::Delegator
|
31
|
+
|
32
|
+
class Rack::Builder
|
33
|
+
include Sinatra::Delegator
|
34
|
+
end
|
@@ -0,0 +1,345 @@
|
|
1
|
+
require 'rack/showexceptions'
|
2
|
+
|
3
|
+
module Sinatra
|
4
|
+
# Sinatra::ShowExceptions catches all exceptions raised from the app it
|
5
|
+
# wraps. It shows a useful backtrace with the sourcefile and clickable
|
6
|
+
# context, the whole Rack environment and the request data.
|
7
|
+
#
|
8
|
+
# Be careful when you use this on public-facing sites as it could reveal
|
9
|
+
# information helpful to attackers.
|
10
|
+
class ShowExceptions < Rack::ShowExceptions
|
11
|
+
@@eats_errors = Object.new
|
12
|
+
def @@eats_errors.flush(*) end
|
13
|
+
def @@eats_errors.puts(*) end
|
14
|
+
|
15
|
+
def initialize(app)
|
16
|
+
@app = app
|
17
|
+
@template = ERB.new(TEMPLATE)
|
18
|
+
end
|
19
|
+
|
20
|
+
def call(env)
|
21
|
+
@app.call(env)
|
22
|
+
rescue Exception => e
|
23
|
+
errors, env["rack.errors"] = env["rack.errors"], @@eats_errors
|
24
|
+
|
25
|
+
if prefers_plain_text?(env)
|
26
|
+
content_type = "text/plain"
|
27
|
+
body = [dump_exception(e)]
|
28
|
+
else
|
29
|
+
content_type = "text/html"
|
30
|
+
body = pretty(env, e)
|
31
|
+
end
|
32
|
+
|
33
|
+
env["rack.errors"] = errors
|
34
|
+
|
35
|
+
[500,
|
36
|
+
{"Content-Type" => content_type,
|
37
|
+
"Content-Length" => Rack::Utils.bytesize(body.join).to_s},
|
38
|
+
body]
|
39
|
+
end
|
40
|
+
|
41
|
+
private
|
42
|
+
|
43
|
+
def prefers_plain_text?(env)
|
44
|
+
!(Request.new(env).preferred_type("text/plain","text/html") == "text/html") &&
|
45
|
+
[/curl/].index{|item| item =~ env["HTTP_USER_AGENT"]}
|
46
|
+
end
|
47
|
+
|
48
|
+
def frame_class(frame)
|
49
|
+
if frame.filename =~ /lib\/sinatra.*\.rb/
|
50
|
+
"framework"
|
51
|
+
elsif (defined?(Gem) && frame.filename.include?(Gem.dir)) ||
|
52
|
+
frame.filename =~ /\/bin\/(\w+)$/
|
53
|
+
"system"
|
54
|
+
else
|
55
|
+
"app"
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
TEMPLATE = <<-HTML # :nodoc:
|
60
|
+
<!DOCTYPE html>
|
61
|
+
<html>
|
62
|
+
<head>
|
63
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
64
|
+
<title><%=h exception.class %> at <%=h path %></title>
|
65
|
+
|
66
|
+
<script type="text/javascript">
|
67
|
+
//<!--
|
68
|
+
function toggle(id) {
|
69
|
+
var pre = document.getElementById("pre-" + id);
|
70
|
+
var post = document.getElementById("post-" + id);
|
71
|
+
var context = document.getElementById("context-" + id);
|
72
|
+
|
73
|
+
if (pre.style.display == 'block') {
|
74
|
+
pre.style.display = 'none';
|
75
|
+
post.style.display = 'none';
|
76
|
+
context.style.background = "none";
|
77
|
+
} else {
|
78
|
+
pre.style.display = 'block';
|
79
|
+
post.style.display = 'block';
|
80
|
+
context.style.background = "#fffed9";
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
function toggleBacktrace(){
|
85
|
+
var bt = document.getElementById("backtrace");
|
86
|
+
var toggler = document.getElementById("expando");
|
87
|
+
|
88
|
+
if (bt.className == 'condensed') {
|
89
|
+
bt.className = 'expanded';
|
90
|
+
toggler.innerHTML = "(condense)";
|
91
|
+
} else {
|
92
|
+
bt.className = 'condensed';
|
93
|
+
toggler.innerHTML = "(expand)";
|
94
|
+
}
|
95
|
+
}
|
96
|
+
//-->
|
97
|
+
</script>
|
98
|
+
|
99
|
+
<style type="text/css" media="screen">
|
100
|
+
* {margin: 0; padding: 0; border: 0; outline: 0;}
|
101
|
+
div.clear {clear: both;}
|
102
|
+
body {background: #EEEEEE; margin: 0; padding: 0;
|
103
|
+
font-family: 'Lucida Grande', 'Lucida Sans Unicode',
|
104
|
+
'Garuda';}
|
105
|
+
code {font-family: 'Lucida Console', monospace;
|
106
|
+
font-size: 12px;}
|
107
|
+
li {height: 18px;}
|
108
|
+
ul {list-style: none; margin: 0; padding: 0;}
|
109
|
+
ol:hover {cursor: pointer;}
|
110
|
+
ol li {white-space: pre;}
|
111
|
+
#explanation {font-size: 12px; color: #666666;
|
112
|
+
margin: 20px 0 0 100px;}
|
113
|
+
/* WRAP */
|
114
|
+
#wrap {width: 1000px; background: #FFFFFF; margin: 0 auto;
|
115
|
+
padding: 30px 50px 20px 50px;
|
116
|
+
border-left: 1px solid #DDDDDD;
|
117
|
+
border-right: 1px solid #DDDDDD;}
|
118
|
+
/* HEADER */
|
119
|
+
#header {margin: 0 auto 25px auto;}
|
120
|
+
#header img {float: left;}
|
121
|
+
#header #summary {float: left; margin: 12px 0 0 20px; width:660px;
|
122
|
+
font-family: 'Lucida Grande', 'Lucida Sans Unicode';}
|
123
|
+
h1 {margin: 0; font-size: 36px; color: #981919;}
|
124
|
+
h2 {margin: 0; font-size: 22px; color: #333333;}
|
125
|
+
#header ul {margin: 0; font-size: 12px; color: #666666;}
|
126
|
+
#header ul li strong{color: #444444;}
|
127
|
+
#header ul li {display: inline; padding: 0 10px;}
|
128
|
+
#header ul li.first {padding-left: 0;}
|
129
|
+
#header ul li.last {border: 0; padding-right: 0;}
|
130
|
+
/* BODY */
|
131
|
+
#backtrace,
|
132
|
+
#get,
|
133
|
+
#post,
|
134
|
+
#cookies,
|
135
|
+
#rack {width: 980px; margin: 0 auto 10px auto;}
|
136
|
+
p#nav {float: right; font-size: 14px;}
|
137
|
+
/* BACKTRACE */
|
138
|
+
a#expando {float: left; padding-left: 5px; color: #666666;
|
139
|
+
font-size: 14px; text-decoration: none; cursor: pointer;}
|
140
|
+
a#expando:hover {text-decoration: underline;}
|
141
|
+
h3 {float: left; width: 100px; margin-bottom: 10px;
|
142
|
+
color: #981919; font-size: 14px; font-weight: bold;}
|
143
|
+
#nav a {color: #666666; text-decoration: none; padding: 0 5px;}
|
144
|
+
#backtrace li.frame-info {background: #f7f7f7; padding-left: 10px;
|
145
|
+
font-size: 12px; color: #333333;}
|
146
|
+
#backtrace ul {list-style-position: outside; border: 1px solid #E9E9E9;
|
147
|
+
border-bottom: 0;}
|
148
|
+
#backtrace ol {width: 920px; margin-left: 50px;
|
149
|
+
font: 10px 'Lucida Console', monospace; color: #666666;}
|
150
|
+
#backtrace ol li {border: 0; border-left: 1px solid #E9E9E9;
|
151
|
+
padding: 2px 0;}
|
152
|
+
#backtrace ol code {font-size: 10px; color: #555555; padding-left: 5px;}
|
153
|
+
#backtrace-ul li {border-bottom: 1px solid #E9E9E9; height: auto;
|
154
|
+
padding: 3px 0;}
|
155
|
+
#backtrace-ul .code {padding: 6px 0 4px 0;}
|
156
|
+
#backtrace.condensed .system,
|
157
|
+
#backtrace.condensed .framework {display:none;}
|
158
|
+
/* REQUEST DATA */
|
159
|
+
p.no-data {padding-top: 2px; font-size: 12px; color: #666666;}
|
160
|
+
table.req {width: 980px; text-align: left; font-size: 12px;
|
161
|
+
color: #666666; padding: 0; border-spacing: 0;
|
162
|
+
border: 1px solid #EEEEEE; border-bottom: 0;
|
163
|
+
border-left: 0;
|
164
|
+
clear:both}
|
165
|
+
table.req tr th {padding: 2px 10px; font-weight: bold;
|
166
|
+
background: #F7F7F7; border-bottom: 1px solid #EEEEEE;
|
167
|
+
border-left: 1px solid #EEEEEE;}
|
168
|
+
table.req tr td {padding: 2px 20px 2px 10px;
|
169
|
+
border-bottom: 1px solid #EEEEEE;
|
170
|
+
border-left: 1px solid #EEEEEE;}
|
171
|
+
/* HIDE PRE/POST CODE AT START */
|
172
|
+
.pre-context,
|
173
|
+
.post-context {display: none;}
|
174
|
+
|
175
|
+
table td.code {width:750px}
|
176
|
+
table td.code div {width:750px;overflow:hidden}
|
177
|
+
</style>
|
178
|
+
</head>
|
179
|
+
<body>
|
180
|
+
<div id="wrap">
|
181
|
+
<div id="header">
|
182
|
+
<img src="<%= env['SCRIPT_NAME'] %>/__sinatra__/500.png" alt="application error" height="161" width="313" />
|
183
|
+
<div id="summary">
|
184
|
+
<h1><strong><%=h exception.class %></strong> at <strong><%=h path %>
|
185
|
+
</strong></h1>
|
186
|
+
<h2><%=h exception.message %></h2>
|
187
|
+
<ul>
|
188
|
+
<li class="first"><strong>file:</strong> <code>
|
189
|
+
<%=h frames.first.filename.split("/").last %></code></li>
|
190
|
+
<li><strong>location:</strong> <code><%=h frames.first.function %>
|
191
|
+
</code></li>
|
192
|
+
<li class="last"><strong>line:
|
193
|
+
</strong> <%=h frames.first.lineno %></li>
|
194
|
+
</ul>
|
195
|
+
</div>
|
196
|
+
<div class="clear"></div>
|
197
|
+
</div>
|
198
|
+
|
199
|
+
<div id="backtrace" class='condensed'>
|
200
|
+
<h3>BACKTRACE</h3>
|
201
|
+
<p><a href="#" id="expando"
|
202
|
+
onclick="toggleBacktrace(); return false">(expand)</a></p>
|
203
|
+
<p id="nav"><strong>JUMP TO:</strong>
|
204
|
+
<a href="#get-info">GET</a>
|
205
|
+
<a href="#post-info">POST</a>
|
206
|
+
<a href="#cookie-info">COOKIES</a>
|
207
|
+
<a href="#env-info">ENV</a>
|
208
|
+
</p>
|
209
|
+
<div class="clear"></div>
|
210
|
+
|
211
|
+
<ul id="backtrace-ul">
|
212
|
+
|
213
|
+
<% id = 1 %>
|
214
|
+
<% frames.each do |frame| %>
|
215
|
+
<% if frame.context_line && frame.context_line != "#" %>
|
216
|
+
|
217
|
+
<li class="frame-info <%= frame_class(frame) %>">
|
218
|
+
<code><%=h frame.filename %></code> in
|
219
|
+
<code><strong><%=h frame.function %></strong></code>
|
220
|
+
</li>
|
221
|
+
|
222
|
+
<li class="code <%= frame_class(frame) %>">
|
223
|
+
<% if frame.pre_context %>
|
224
|
+
<ol start="<%=h frame.pre_context_lineno + 1 %>"
|
225
|
+
class="pre-context" id="pre-<%= id %>"
|
226
|
+
onclick="toggle(<%= id %>);">
|
227
|
+
<% frame.pre_context.each do |line| %>
|
228
|
+
<li class="pre-context-line"><code><%=h line %></code></li>
|
229
|
+
<% end %>
|
230
|
+
</ol>
|
231
|
+
<% end %>
|
232
|
+
|
233
|
+
<ol start="<%= frame.lineno %>" class="context" id="<%= id %>"
|
234
|
+
onclick="toggle(<%= id %>);">
|
235
|
+
<li class="context-line" id="context-<%= id %>"><code><%=
|
236
|
+
h frame.context_line %></code></li>
|
237
|
+
</ol>
|
238
|
+
|
239
|
+
<% if frame.post_context %>
|
240
|
+
<ol start="<%=h frame.lineno + 1 %>" class="post-context"
|
241
|
+
id="post-<%= id %>" onclick="toggle(<%= id %>);">
|
242
|
+
<% frame.post_context.each do |line| %>
|
243
|
+
<li class="post-context-line"><code><%=h line %></code></li>
|
244
|
+
<% end %>
|
245
|
+
</ol>
|
246
|
+
<% end %>
|
247
|
+
<div class="clear"></div>
|
248
|
+
</li>
|
249
|
+
|
250
|
+
<% end %>
|
251
|
+
|
252
|
+
<% id += 1 %>
|
253
|
+
<% end %>
|
254
|
+
|
255
|
+
</ul>
|
256
|
+
</div> <!-- /BACKTRACE -->
|
257
|
+
|
258
|
+
<div id="get">
|
259
|
+
<h3 id="get-info">GET</h3>
|
260
|
+
<% if req.GET and not req.GET.empty? %>
|
261
|
+
<table class="req">
|
262
|
+
<tr>
|
263
|
+
<th>Variable</th>
|
264
|
+
<th>Value</th>
|
265
|
+
</tr>
|
266
|
+
<% req.GET.sort_by { |k, v| k.to_s }.each { |key, val| %>
|
267
|
+
<tr>
|
268
|
+
<td><%=h key %></td>
|
269
|
+
<td class="code"><div><%=h val.inspect %></div></td>
|
270
|
+
</tr>
|
271
|
+
<% } %>
|
272
|
+
</table>
|
273
|
+
<% else %>
|
274
|
+
<p class="no-data">No GET data.</p>
|
275
|
+
<% end %>
|
276
|
+
<div class="clear"></div>
|
277
|
+
</div> <!-- /GET -->
|
278
|
+
|
279
|
+
<div id="post">
|
280
|
+
<h3 id="post-info">POST</h3>
|
281
|
+
<% if req.POST and not req.POST.empty? %>
|
282
|
+
<table class="req">
|
283
|
+
<tr>
|
284
|
+
<th>Variable</th>
|
285
|
+
<th>Value</th>
|
286
|
+
</tr>
|
287
|
+
<% req.POST.sort_by { |k, v| k.to_s }.each { |key, val| %>
|
288
|
+
<tr>
|
289
|
+
<td><%=h key %></td>
|
290
|
+
<td class="code"><div><%=h val.inspect %></div></td>
|
291
|
+
</tr>
|
292
|
+
<% } %>
|
293
|
+
</table>
|
294
|
+
<% else %>
|
295
|
+
<p class="no-data">No POST data.</p>
|
296
|
+
<% end %>
|
297
|
+
<div class="clear"></div>
|
298
|
+
</div> <!-- /POST -->
|
299
|
+
|
300
|
+
<div id="cookies">
|
301
|
+
<h3 id="cookie-info">COOKIES</h3>
|
302
|
+
<% unless req.cookies.empty? %>
|
303
|
+
<table class="req">
|
304
|
+
<tr>
|
305
|
+
<th>Variable</th>
|
306
|
+
<th>Value</th>
|
307
|
+
</tr>
|
308
|
+
<% req.cookies.each { |key, val| %>
|
309
|
+
<tr>
|
310
|
+
<td><%=h key %></td>
|
311
|
+
<td class="code"><div><%=h val.inspect %></div></td>
|
312
|
+
</tr>
|
313
|
+
<% } %>
|
314
|
+
</table>
|
315
|
+
<% else %>
|
316
|
+
<p class="no-data">No cookie data.</p>
|
317
|
+
<% end %>
|
318
|
+
<div class="clear"></div>
|
319
|
+
</div> <!-- /COOKIES -->
|
320
|
+
|
321
|
+
<div id="rack">
|
322
|
+
<h3 id="env-info">Rack ENV</h3>
|
323
|
+
<table class="req">
|
324
|
+
<tr>
|
325
|
+
<th>Variable</th>
|
326
|
+
<th>Value</th>
|
327
|
+
</tr>
|
328
|
+
<% env.sort_by { |k, v| k.to_s }.each { |key, val| %>
|
329
|
+
<tr>
|
330
|
+
<td><%=h key %></td>
|
331
|
+
<td class="code"><div><%=h val %></div></td>
|
332
|
+
</tr>
|
333
|
+
<% } %>
|
334
|
+
</table>
|
335
|
+
<div class="clear"></div>
|
336
|
+
</div> <!-- /RACK ENV -->
|
337
|
+
|
338
|
+
<p id="explanation">You're seeing this error because you have
|
339
|
+
enabled the <code>show_exceptions</code> setting.</p>
|
340
|
+
</div> <!-- /WRAP -->
|
341
|
+
</body>
|
342
|
+
</html>
|
343
|
+
HTML
|
344
|
+
end
|
345
|
+
end
|
@@ -0,0 +1,124 @@
|
|
1
|
+
require 'sinatra/base'
|
2
|
+
require 'sinatra/engine_tracking'
|
3
|
+
require 'backports'
|
4
|
+
|
5
|
+
module Sinatra
|
6
|
+
#
|
7
|
+
# = Sinatra::Capture
|
8
|
+
#
|
9
|
+
# Extension that enables blocks inside other extensions.
|
10
|
+
# It currently works for erb, slim and haml.
|
11
|
+
# Enables mixing of different template languages.
|
12
|
+
#
|
13
|
+
# Example:
|
14
|
+
#
|
15
|
+
# # in hello_world.erb
|
16
|
+
#
|
17
|
+
# Say
|
18
|
+
# <% a = capture do %>World<% end %>
|
19
|
+
# Hello <%= a %>!
|
20
|
+
#
|
21
|
+
# # in hello_world.slim
|
22
|
+
#
|
23
|
+
# | Say
|
24
|
+
# - a = capture do
|
25
|
+
# | World
|
26
|
+
# | Hello #{a}!
|
27
|
+
#
|
28
|
+
# # in hello_world.haml
|
29
|
+
#
|
30
|
+
# Say
|
31
|
+
# - a = capture do
|
32
|
+
# World
|
33
|
+
# Hello #{a.strip}!
|
34
|
+
#
|
35
|
+
#
|
36
|
+
# You can also use nested blocks.
|
37
|
+
#
|
38
|
+
# Example
|
39
|
+
#
|
40
|
+
# # in hello_world.erb
|
41
|
+
#
|
42
|
+
# Say
|
43
|
+
# <% a = capture do %>
|
44
|
+
# <% b = capture do %>World<% end %>
|
45
|
+
# <%= b %>!
|
46
|
+
# <% end %>
|
47
|
+
# Hello <%= a.strip %>
|
48
|
+
#
|
49
|
+
#
|
50
|
+
# The main advantage of capture is mixing of different template engines.
|
51
|
+
#
|
52
|
+
# Example
|
53
|
+
#
|
54
|
+
# # in mix_me_up.slim
|
55
|
+
#
|
56
|
+
# - two = capture do
|
57
|
+
# - erb "<%= 1 + 1 %>"
|
58
|
+
# | 1 + 1 = #{two}
|
59
|
+
#
|
60
|
+
# == Usage
|
61
|
+
#
|
62
|
+
# === Classic Application
|
63
|
+
#
|
64
|
+
# In a classic application simply require the helpers, and start using them:
|
65
|
+
#
|
66
|
+
# require "sinatra"
|
67
|
+
# require "sinatra/capture"
|
68
|
+
#
|
69
|
+
# # The rest of your classic application code goes here...
|
70
|
+
#
|
71
|
+
# === Modular Application
|
72
|
+
#
|
73
|
+
# In a modular application you need to require the helpers, and then tell
|
74
|
+
# the application you will use them:
|
75
|
+
#
|
76
|
+
# require "sinatra/base"
|
77
|
+
# require "sinatra/capture"
|
78
|
+
#
|
79
|
+
# class MyApp < Sinatra::Base
|
80
|
+
# helpers Sinatra::Capture
|
81
|
+
#
|
82
|
+
# # The rest of your modular application code goes here...
|
83
|
+
# end
|
84
|
+
#
|
85
|
+
module Capture
|
86
|
+
include Sinatra::EngineTracking
|
87
|
+
|
88
|
+
DUMMIES = {
|
89
|
+
:haml => "!= capture_haml(*args, &block)",
|
90
|
+
:erubis => "<% @capture = yield(*args) %>",
|
91
|
+
:slim => "== yield(*args)"
|
92
|
+
}
|
93
|
+
|
94
|
+
def capture(*args, &block)
|
95
|
+
@capture = nil
|
96
|
+
if current_engine == :ruby
|
97
|
+
result = block[*args]
|
98
|
+
elsif current_engine == :erb
|
99
|
+
@_out_buf, _buf_was = '', @_out_buf
|
100
|
+
block[*args]
|
101
|
+
result = eval('@_out_buf', block.binding)
|
102
|
+
@_out_buf = _buf_was
|
103
|
+
else
|
104
|
+
buffer = eval '_buf if defined?(_buf)', block.binding
|
105
|
+
old_buffer = buffer.dup if buffer
|
106
|
+
dummy = DUMMIES.fetch(current_engine)
|
107
|
+
options = { :layout => false, :locals => {:args => args, :block => block }}
|
108
|
+
|
109
|
+
buffer.try :clear
|
110
|
+
result = render(current_engine, dummy, options, &block)
|
111
|
+
end
|
112
|
+
result.strip.empty? && @capture ? @capture : result
|
113
|
+
ensure
|
114
|
+
buffer.try :replace, old_buffer
|
115
|
+
end
|
116
|
+
|
117
|
+
def capture_later(&block)
|
118
|
+
engine = current_engine
|
119
|
+
proc { |*a| with_engine(engine) { @capture = capture(*a, &block) }}
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
helpers Capture
|
124
|
+
end
|
@@ -0,0 +1,167 @@
|
|
1
|
+
require 'sinatra/base'
|
2
|
+
require 'yaml'
|
3
|
+
require 'erb'
|
4
|
+
|
5
|
+
module Sinatra
|
6
|
+
|
7
|
+
# = Sinatra::ConfigFile
|
8
|
+
#
|
9
|
+
# <tt>Sinatra::ConfigFile</tt> is an extension that allows you to load the
|
10
|
+
# application's configuration from YAML files. It automatically detects if
|
11
|
+
# the files contains specific environment settings and it will use the
|
12
|
+
# corresponding to the current one.
|
13
|
+
#
|
14
|
+
# You can access those options through +settings+ within the application. If
|
15
|
+
# you try to get the value for a setting that hasn't been defined in the
|
16
|
+
# config file for the current environment, you will get whatever it was set
|
17
|
+
# to in the application.
|
18
|
+
#
|
19
|
+
# == Usage
|
20
|
+
#
|
21
|
+
# Once you have written your configurations to a YAML file you can tell the
|
22
|
+
# extension to load them. See below for more information about how these
|
23
|
+
# files are interpreted.
|
24
|
+
#
|
25
|
+
# For the examples, lets assume the following config.yml file:
|
26
|
+
#
|
27
|
+
# greeting: Welcome to my file configurable application
|
28
|
+
#
|
29
|
+
# === Classic Application
|
30
|
+
#
|
31
|
+
# require "sinatra"
|
32
|
+
# require "sinatra/config_file"
|
33
|
+
#
|
34
|
+
# config_file 'path/to/config.yml'
|
35
|
+
#
|
36
|
+
# get '/' do
|
37
|
+
# @greeting = settings.greeting
|
38
|
+
# haml :index
|
39
|
+
# end
|
40
|
+
#
|
41
|
+
# # The rest of your classic application code goes here...
|
42
|
+
#
|
43
|
+
# === Modular Application
|
44
|
+
#
|
45
|
+
# require "sinatra/base"
|
46
|
+
# require "sinatra/config_file"
|
47
|
+
#
|
48
|
+
# class MyApp < Sinatra::Base
|
49
|
+
# register Sinatra::ConfigFile
|
50
|
+
#
|
51
|
+
# config_file 'path/to/config.yml'
|
52
|
+
#
|
53
|
+
# get '/' do
|
54
|
+
# @greeting = settings.greeting
|
55
|
+
# haml :index
|
56
|
+
# end
|
57
|
+
#
|
58
|
+
# # The rest of your modular application code goes here...
|
59
|
+
# end
|
60
|
+
#
|
61
|
+
# === Config File Format
|
62
|
+
#
|
63
|
+
# In its most simple form this file is just a key-value list:
|
64
|
+
#
|
65
|
+
# foo: bar
|
66
|
+
# something: 42
|
67
|
+
# nested:
|
68
|
+
# a: 1
|
69
|
+
# b: 2
|
70
|
+
#
|
71
|
+
# But it also can provide specific environment configuration. There are two
|
72
|
+
# ways to do that: at the file level and at the setting level. They are
|
73
|
+
# illustrated, repsectively, as follows:
|
74
|
+
#
|
75
|
+
# development:
|
76
|
+
# foo: development
|
77
|
+
# bar: bar
|
78
|
+
# test:
|
79
|
+
# foo: test
|
80
|
+
# bar: bar
|
81
|
+
# production:
|
82
|
+
# foo: production
|
83
|
+
# bar: bar
|
84
|
+
#
|
85
|
+
# and
|
86
|
+
#
|
87
|
+
# foo:
|
88
|
+
# development: development
|
89
|
+
# test: test
|
90
|
+
# production: production
|
91
|
+
# bar: bar
|
92
|
+
#
|
93
|
+
# In either case, <tt>settings.foo</tt> will return the environment name, and
|
94
|
+
# <tt>settings.bar</tt> will return <tt>"bar"</tt>.
|
95
|
+
#
|
96
|
+
# Be aware that if you have a different environment, besides development,
|
97
|
+
# test and production, you will also need to adjust the +environments+
|
98
|
+
# setting, otherwise the settings will not load. For instance, when
|
99
|
+
# you also have a staging environment:
|
100
|
+
#
|
101
|
+
# set :environments, %w{development test production staging}
|
102
|
+
#
|
103
|
+
# If you wish to provide defaults that may be shared among all the environments,
|
104
|
+
# this can be done by using one of the existing environments as the default using
|
105
|
+
# the YAML alias, and then overwriting values in the other environments:
|
106
|
+
#
|
107
|
+
# development: &common_settings
|
108
|
+
# foo: 'foo'
|
109
|
+
# bar: 'bar'
|
110
|
+
#
|
111
|
+
# production:
|
112
|
+
# <<: *common_settings
|
113
|
+
# bar: 'baz' # override the default value
|
114
|
+
#
|
115
|
+
module ConfigFile
|
116
|
+
|
117
|
+
# When the extension is registered sets the +environments+ setting to the
|
118
|
+
# traditional environments: development, test and production.
|
119
|
+
def self.registered(base)
|
120
|
+
base.set :environments, %w[test production development]
|
121
|
+
end
|
122
|
+
|
123
|
+
# Loads the configuration from the YAML files whose +paths+ are passed as
|
124
|
+
# arguments, filtering the settings for the current environment. Note that
|
125
|
+
# these +paths+ can actually be globs.
|
126
|
+
def config_file(*paths)
|
127
|
+
Dir.chdir(root || '.') do
|
128
|
+
paths.each do |pattern|
|
129
|
+
Dir.glob(pattern) do |file|
|
130
|
+
$stderr.puts "loading config file '#{file}'" if logging?
|
131
|
+
document = IO.read(file)
|
132
|
+
document = ERB.new(document).result if file.split('.').include?('erb')
|
133
|
+
yaml = config_for_env(YAML.load(document)) || {}
|
134
|
+
yaml.each_pair do |key, value|
|
135
|
+
for_env = config_for_env(value)
|
136
|
+
set key, for_env unless value and for_env.nil? and respond_to? key
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
private
|
144
|
+
|
145
|
+
# Given a +hash+ with some application configuration it returns the
|
146
|
+
# settings applicable to the current environment. Note that this can only
|
147
|
+
# be done when all the keys of +hash+ are environment names included in the
|
148
|
+
# +environments+ setting (which is an Array of Strings). Also, the
|
149
|
+
# returned config is a indifferently accessible Hash, which means that you
|
150
|
+
# can get its values using Strings or Symbols as keys.
|
151
|
+
def config_for_env(hash)
|
152
|
+
if hash.respond_to? :keys and hash.keys.all? { |k| environments.include? k.to_s }
|
153
|
+
hash = hash[environment.to_s] || hash[environment.to_sym]
|
154
|
+
end
|
155
|
+
|
156
|
+
if hash.respond_to? :to_hash
|
157
|
+
indifferent_hash = Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
|
158
|
+
indifferent_hash.merge hash.to_hash
|
159
|
+
else
|
160
|
+
hash
|
161
|
+
end
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
register ConfigFile
|
166
|
+
Delegator.delegate :config_file
|
167
|
+
end
|