Browse Source

Merge pull request #1523 from LadyMozzarella/reorganize-ruby-readmes

Add Information and Reorganize Ruby Readmes
Brittany Mazza 10 years ago
parent
commit
2c9dbb3edd

+ 52 - 7
frameworks/Ruby/README.md

@@ -1,24 +1,69 @@
-# Using RVM to setup your environment
+# Ruby Frameworks
+
+The information below contains information specific to Ruby. 
+For further guidance, review the 
+[documentation](http://frameworkbenchmarks.readthedocs.org/en/latest/).
+
+## Infrastructure Software Versions
+
+* [RVM 2.2.1](https://rvm.io/) (Unless tests are run in Travis-CI)
+
+## Adding a New Ruby Framework
+
+### Installation
 
 TFB uses rvm wherever possible to help ruby-based or
 jruby-based frameworks setup their environment. 
-In your framework's `install.sh`, put this prior to other statements: 
+
+When verifying the tests in Travis-CI we rely on Travis-CI's 
+RVM installation (and $HOME isn't /home/travis while running 
+Travis-CI), so we have certain specific caveats to keep 
+Travis-CI happy.
+
+#### Install RVM
+
+Most install.sh files will at least have this:
 
     #!/bin/bash
-    
+
+    fw_depends rvm # This installs RVM
+
+    if [ "$TRAVIS" = "true" ]
+    then
+      rvmsudo rvm install ruby-2.0.0-p0
+    else
+      rvm install ruby-2.0.0-p0
+    fi
+
+### Set Up with RVM
+
+At the top of your framework's `setup.sh`, put this (if 
+you're using RVM): 
+
+    #!/bin/bash
+
     # Assume single-user installation
-    source $HOME/.rvm/scripts/rvm
+    if [ "$TRAVIS" = "true" ]
+    then
+      source /home/travis/.rvm/scripts/rvm
+    else
+      source $HOME/.rvm/scripts/rvm
+    fi
 
 Because TFB uses Python's `subprocess` module, which runs 
 all shell processes in a non-login mode, you must source the 
-`rvm` script before using `rvm` anywhere. Placing the `source`
-call in your `install.sh` before other commands ensures that it 
-will be called before installation and before running `setup.py`
+`rvm` script before using `rvm` anywhere. 
 
 For compatibility with how the framework rounds are executed, 
 you must use a single-user installation if you wish to run 
 ruby-based TFB tests.
 
+## Get Help
+
+### Ruby Experts
 
+_No experts listed, yet. If you're an expert, add yourself!_
 
+### [Ruby Community](https://www.ruby-lang.org/en/community/)
 
+* `#ruby-lang` on IRC ([irc.freenode.net](https://freenode.net/))

+ 32 - 2
frameworks/Ruby/grape/README.md

@@ -1,15 +1,45 @@
-# Ruby Grape Benchmarking Test
+# Grape Micro-Framework
 
-This is the Ruby Grape portion of a [benchmarking test suite](../) comparing a variety of web servers along with JRuby/MRI.
+The information below contains information specific to Grape. 
+For further guidance, review the 
+[documentation](http://frameworkbenchmarks.readthedocs.org/en/latest/). 
+Also note the additional information provided in the [Ruby README](../).
+
+This is the Ruby Grape portion of a [benchmarking test suite](../../) 
+comparing a variety of web servers along with JRuby/MRI.
 
 ## Infrastructure Software Versions
 The tests were run with:
 
 * [Ruby 2.0.0-p0](http://www.ruby-lang.org/)
 * [JRuby 1.7.8](http://jruby.org/)
+* [Rubinius 2.2.10](http://rubini.us/)
 * [Grape 0.8.0](http://intridea.github.io/grape/)
 * [Rack 1.5.2](http://rack.github.com/)
 * [Unicorn 4.8.3](http://unicorn.bogomips.org/)
 * [TorqBox 0.1.7](http://torquebox.org/torqbox/)
 * [Puma 2.9.0](http://puma.io/)
 * [Thin 1.6.2](http://code.macournoyer.com/thin/)
+
+## Paths & Source for Tests
+
+* [JSON Serialization](Config.ru): "/json"
+* [Single Database Query](Config.ru): "/db"
+* [Multiple Database Queries](Config.ru): "/query?queries={#}"
+* _Fortunes: N/A_
+* [Database Updates](Config.ru): "/updates?queries={#}"
+* [Plaintext](Config.ru): "/plaintext"
+
+## Get Help
+
+### Experts
+
+_No experts listed, yet. If you're an expert, add yourself!_
+
+### Community
+
+* [Grape Google Group](https://groups.google.com/forum/?fromgroups#!forum/ruby-grape)
+
+### Resources
+
+* [Grape Micro-framework Source Code](https://github.com/intridea/grape)

+ 23 - 8
frameworks/Ruby/ngx_mruby/README.md

@@ -1,21 +1,36 @@
 # [nginx + mruby](https://github.com/matsumoto-r/ngx_mruby) Benchmark Test
 
+The information below contains information specific to nginx + mruby. 
+For further guidance, review the 
+[documentation](http://frameworkbenchmarks.readthedocs.org/en/latest/). 
+Also note the additional information provided in the [Ruby README](../).
+
+This is the nginx + mruby portion of a [benchmarking test suite](../../) 
+comparing a variety of web platforms.
+
+---
+
 The nginx app is distributes across a few files. most of it is in [nginx.conf](nginx.conf)
 The nginx conf is inside [nginx.conf](nginx.conf)
 Requires a nginx compiled with ngx_mruby module. It has been called nginx_mruby for lack of a better name
 
+## Infrastructure Software Versions
 
-## Test URLs
-### JSON Encoding
+The tests were run with:
 
-http://localhost:8080/json
+* [Ruby 2.0.0-p0](http://www.ruby-lang.org/)
 
-### Single Row Random Query
+## Paths & Source for Tests
 
-http://localhost:8080/db
+* [JSON Serialization](nginx.conf): "/json"
+* [Single Database Query](db.rb): "/db"
+* [Multiple Database Query](queries.rb): "/queries?queries={#}"
+* _Fortunes: N/A_
+* _Database Updates: N/A_
+* [Plaintext](nginx.conf): "/plaintext"
 
-### Variable Row Query Test
+## Get Help
 
-http://localhost:8080/db?queries=2
+### Experts
 
-Based upon the [openresty](../../Lua/openresty/) implementation.
+_No experts listed, yet. If you're an expert, add yourself!_

+ 46 - 0
frameworks/Ruby/padrino/README.md

@@ -0,0 +1,46 @@
+# Padrino Framework
+
+The information below contains information specific to Padrino. 
+For further guidance, review the 
+[documentation](http://frameworkbenchmarks.readthedocs.org/en/latest/). 
+Also note the additional information provided in the [Ruby README](../).
+
+This is the Ruby Padrino portion of a [benchmarking test suite](../../) 
+comparing a variety of web servers.
+
+## Infrastructure Software Versions
+The tests were run with:
+
+* [Ruby 2.0.0-p0](http://www.ruby-lang.org/)
+* [JRuby 1.7.8](http://jruby.org/)
+* [Rubinius 2.2.10](http://rubini.us/)
+* [Padrino 0.12.3](http://www.padrinorb.com/)
+* [Rack 1.5.2](http://rack.github.com/)
+* [Unicorn 4.8.3](http://unicorn.bogomips.org/)
+* [TorqBox 0.1.7](http://torquebox.org/torqbox/)
+* [Puma 2.9.0](http://puma.io/)
+* [Thin 1.6.2](http://code.macournoyer.com/thin/)
+
+## Paths & Source for Tests
+
+* [JSON Serialization](app/controllers.rb): "/json"
+* [Single Database Query](app/controllers.rb): "/db", [World Model](models/world.rb)
+* [Multiple Database Queries](app/controllers.rb): "/query?queries={#}", [World Model](models/world.rb)
+* [Fortunes](app/controllers.rb): "/fortunes", [Fortunes Model](models/fortune.rb)
+* [Database Updates](app/controllers.rb): "/updates?queries={#}", [World Model](models/world.rb)
+* [Plaintext](app/controllers.rb): "/plaintext"
+
+## Get Help
+
+### Experts
+
+_No experts listed, yet. If you're an expert, add yourself!_
+
+### [Community](http://www.padrinorb.com/pages/contribute)
+
+* [Padrino Google Group](https://groups.google.com/forum/#!forum/padrino)
+* `#padrino` IRC Channel([irc.freenode.net](http://freenode.net/))
+
+### Resources
+
+* [Padrino framework Source Code](https://github.com/padrino/padrino-framework)

+ 28 - 13
frameworks/Ruby/rack/README.md

@@ -1,31 +1,46 @@
-# Ruby Rack Benchmarking Test
+# Ruby [Rack](http://rack.github.io/) Benchmarking Test
 
-This is the Ruby Rack portion of a [benchmarking test suite](../) comparing a variety of web development platforms.
-
-### JSON Encoding Test
-* [JSON test source](config.ru)
+The information below contains information specific to Rack. 
+For further guidance, review the 
+[documentation](http://frameworkbenchmarks.readthedocs.org/en/latest/). 
+Also note the additional information provided in the [Ruby README](../).
 
+This is the Ruby Rack portion of a [benchmarking test suite](../../) 
+comparing a variety of web servers.
 
 ## Infrastructure Software Versions
 The tests were run with:
 
 * [Ruby 2.0.0-p0](http://www.ruby-lang.org/)
 * [JRuby 1.7.8](http://jruby.org/)
+* [Rubinius 2.2.10](http://rubini.us/)
 * [Rack 1.5.2](http://rack.github.com/)
 * [Unicorn 4.8.3](http://unicorn.bogomips.org/)
 * [TorqBox 0.1.7](http://torquebox.org/torqbox/)
 * [Puma 2.9.0](http://puma.io/)
 * [Thin 1.6.2](http://code.macournoyer.com/thin/)
 
-## References
-* https://github.com/FooBarWidget/passenger/pull/71
+## Paths & Source for Tests
+
+* [JSON Serialization](app/ruby_impl.rb) [[jruby version](app/jruby_impl.rb)]: "/json"
+* [Single Database Query](app/ruby_impl.rb) [[jruby version](app/jruby_impl.rb)]: "/db", [World Model](models/world.rb)
+* [Multiple Database Queries](app/ruby_impl.rb) [[jruby version](app/jruby_impl.rb)]: "/query?queries={#}", [World Model](models/world.rb)
+* _Fortunes: N/A_
+* [Database Updates](app/ruby_impl.rb) [[jruby version](app/jruby_impl.rb)]: "/updates?queries={#}", [World Model](models/world.rb)
+* [Plaintext](app/ruby_impl.rb) [[jruby version](app/jruby_impl.rb)]: "/plaintext"
+
+## Get Help
+
+### Experts
+
+_No experts listed, yet. If you're an expert, add yourself!_
 
-## Test URLs
-### JSON Encoding Test
+### Community
 
-Ruby:
-localhost:8080
+* `#rack` IRC Channel ([irc.freenode.net](http://freenode.net/))
+* [Rack Google Group](https://groups.google.com/forum/#!forum/rack-devel)
 
-JRuby:
-localhost:8080
+### Resources
 
+* [Rack Source Code](https://github.com/rack/rack)
+* [PR: passenger-install-apache2-module doesn't work on ruby 2.0](https://github.com/FooBarWidget/passenger/pull/71)

+ 28 - 22
frameworks/Ruby/rails-stripped/README.md

@@ -1,17 +1,17 @@
-# Ruby on Rails Benchmarking Test
+# [Ruby on Rails](http://rubyonrails.org/) Benchmarking Test
 
-This is the Ruby on Rails portion of a [benchmarking test suite](../) comparing a variety of web development platforms.
-
-### JSON Encoding Test
-* [JSON test source](app/controllers/hello_world_controller.rb)
-
-### Data-Store/Database Mapping Test
-
-* [Database test source](app/controllers/hello_world_controller.rb)
+The information below contains information specific to Ruby on Rails. 
+For further guidance, review the 
+[documentation](http://frameworkbenchmarks.readthedocs.org/en/latest/). 
+Also note the additional information provided in the [Ruby README](../).
 
+This is the Ruby on Rails portion of a [benchmarking test suite](../../) 
+comparing a variety of web platforms.
 
 ## Infrastructure Software Versions
+
 The tests were run with:
+
 * [Ruby 2.0.0-p0](http://www.ruby-lang.org/)
 * [JRuby 1.7.8](http://jruby.org/)
 * [Rails 3.2.18](http://rubyonrails.org/)
@@ -19,22 +19,28 @@ The tests were run with:
 * [TorqBox 0.1.7](http://torquebox.org/torqbox/)
 * [MySQL 5.5.29](https://dev.mysql.com/)
 
-## References
-* https://github.com/FooBarWidget/passenger/pull/71
+## Paths & Source for Tests
+
+* [JSON Serialization](app/controllers/hello_world_controller.rb): "/json"
+* [Single Database Query](app/controllers/hello_world_controller.rb): "/db", [World Model](app/models/world.rb)
+* [Multiple Database Queries](app/controllers/hello_world_controller.rb): "/db?queries={#}", [World Model](app/models/world.rb)
+* _Fortunes: N/A_
+* _Database Updates: N/A_
+* _Plaintext: N/A_
+
+## Get Help
 
-## Test URLs
-### JSON Encoding Test
+### Experts
 
-Ruby:
-localhost:8080/hello_world/json
+_No experts listed, yet. If you're an expert, add yourself!_
 
-JRuby:
-localhost:8080/hello_world/json
+### Community
 
-### Data-Store/Database Mapping Test
+* `#rubyonrails` IRC Channel ([irc.freenode.net](http://freenode.net/))
+* [Ruby on Rails Twitter](https://twitter.com/rails)
+* [Ruby on Rails Google Group](https://groups.google.com/forum/#!forum/rubyonrails-talk)
 
-Ruby:
-localhost:8080/hello_world/db?queries=5
+### Resources
 
-JRuby:
-localhost:8080/hello_world/db?queries=5
+* [Ruby on Rails Source Code](https://github.com/rails/rails)
+* [PR: passenger-install-apache2-module doesn't work on ruby 2.0](https://github.com/FooBarWidget/passenger/pull/71)

+ 31 - 22
frameworks/Ruby/rails/README.md

@@ -1,40 +1,49 @@
-# Ruby on Rails Benchmarking Test
+# [Ruby on Rails](http://rubyonrails.org/) Benchmarking Test
 
-This is the Ruby on Rails portion of a [benchmarking test suite](../) comparing a variety of web development platforms.
-
-### JSON Encoding Test
-* [JSON test source](app/controllers/hello_world_controller.rb)
-
-### Data-Store/Database Mapping Test
-
-* [Database test source](app/controllers/hello_world_controller.rb)
+The information below contains information specific to Ruby on Rails. 
+For further guidance, review the 
+[documentation](http://frameworkbenchmarks.readthedocs.org/en/latest/). 
+Also note the additional information provided in the [Ruby README](../).
 
+This is the Ruby on Rails portion of a [benchmarking test suite](../../) 
+comparing a variety of web platforms.
 
 ## Infrastructure Software Versions
+
 The tests were run with:
+
 * [Ruby 2.1.2](http://www.ruby-lang.org/)
 * [JRuby 1.7.13](http://jruby.org/)
+* [Rubinius 2.2.10](http://rubini.us/)
 * [Rails 4.1.4](http://rubyonrails.org/)
 * [Unicorn 4.8.3](http://unicorn.bogomips.org/)
 * [TorqBox 0.1.7](http://torquebox.org/torqbox/)
+* [Puma 2.9.0](http://puma.io/)
+* [Thin 1.6.2](http://code.macournoyer.com/thin/)
 * [MySQL 5.5](https://dev.mysql.com/)
 
-## References
-* https://github.com/FooBarWidget/passenger/pull/71
+## Paths & Source for Tests
+
+* [JSON Serialization](app/controllers/hello_world_controller.rb): "/json"
+* [Single Database Query](app/controllers/hello_world_controller.rb): "/db", [World Model](app/models/world.rb)
+* [Multiple Database Queries](app/controllers/hello_world_controller.rb): "/db?queries={#}", [World Model](app/models/world.rb)
+* [Fortunes](app/controllers/hello_world_controller.rb): "/fortune" , [Fortunes Model](app/models/fortune.rb)
+* [Database Updates](app/controllers/hello_world_controller.rb): "/update?queries={#}", [World Model](app/models/world.rb)
+* [Plaintext](app/controllers/hello_world_controller.rb): "/plaintext"
+
+## Get Help
 
-## Test URLs
-### JSON Encoding Test
+### Experts
 
-Ruby:
-localhost:8080/hello_world/json
+_No experts listed, yet. If you're an expert, add yourself!_
 
-JRuby:
-localhost:8080/hello_world/json
+### Community
 
-### Data-Store/Database Mapping Test
+* `#rubyonrails` IRC Channel ([irc.freenode.net](http://freenode.net/))
+* [Ruby on Rails Twitter](https://twitter.com/rails)
+* [Ruby on Rails Google Group](https://groups.google.com/forum/#!forum/rubyonrails-talk)
 
-Ruby:
-localhost:8080/hello_world/db?queries=5
+### Resources
 
-JRuby:
-localhost:8080/hello_world/db?queries=5
+* [Ruby on Rails Source Code](https://github.com/rails/rails)
+* [PR: passenger-install-apache2-module doesn't work on ruby 2.0](https://github.com/FooBarWidget/passenger/pull/71)

+ 27 - 21
frameworks/Ruby/sinatra/README.md

@@ -1,40 +1,46 @@
-# Ruby Sinatra Benchmarking Test
+# Ruby [Sinatra](http://www.sinatrarb.com/) Benchmarking Test
 
-This is the Ruby Sinatra portion of a [benchmarking test suite](../) comparing a variety of web development platforms.
+The information below contains information specific to Sinatra. 
+For further guidance, review the 
+[documentation](http://frameworkbenchmarks.readthedocs.org/en/latest/). 
+Also note the additional information provided in the [Ruby README](../).
 
-### JSON Encoding Test
-* [JSON test source](hello_world.rb)
-
-### Data-Store/Database Mapping Test
-
-* [Database test source](hello_world.rb)
+This is the Ruby Sinatra portion of a [benchmarking test suite](../../) 
+comparing a variety of web platforms.
 
 ## Infrastructure Software Versions
 The tests were run with:
 * [Ruby 2.0.0-p0](http://www.ruby-lang.org/)
 * [JRuby 1.7.8](http://jruby.org/)
+* [Rubinius 2.2.10](http://rubini.us/)
 * [Sinatra 1.3.4](http://www.sinatrarb.com/)
 * [Unicorn 4.6.2](http://unicorn.bogomips.org/)
 * [TorqBox 0.1.7](http://torquebox.org/torqbox/)
+* [Puma 2.9.0](http://puma.io/)
+* [Thin 1.6.2](http://code.macournoyer.com/thin/)
 * [MySQL 5.5.29](https://dev.mysql.com/)
 
-## References
-* https://github.com/FooBarWidget/passenger/pull/71
+## Paths & Source for Tests
+
+* [JSON Serialization](hello_world.rb): "/json"
+* [Single Database Query](hello_world.rb): "/db"
+* [Multiple Database Queries](hello_world.rb): "/db?queries={#}"
+* [Fortunes](hello_world.rb): "/fortune"
+* [Database Updates](hello_world.rb): "/update?queries={#}"
+* [Plaintext](hello_world.rb): "/plaintext"
 
-## Test URLs
+## Get Help
 
-### JSON Encoding Test
+### Experts
 
-Ruby:
-localhost:8080/json
+_No experts listed, yet. If you're an expert, add yourself!_
 
-JRuby:
-localhost:8080/json
+### Community
 
-### Data-Store/Database Mapping Test
+* [Sinatra Google Group](https://groups.google.com/forum/#!forum/sinatrarb)
+* `#sinatra` IRC Channel ([irc.freenode.net](http://freenode.net/))
 
-Ruby:
-localhost:8080/db?queries=5
+### Resources
 
-JRuby:
-localhost:8080/db?queries=5
+* [Sinatra Source Code](https://github.com/sinatra/sinatra)
+* [PR: passenger-install-apache2-module doesn't work on ruby 2.0](https://github.com/FooBarWidget/passenger/pull/71)