bcardarella / bostonrb forked from bostonrb/bostonrb

Website for bostonrb.org

This URL has Read+Write access

bcardarella (author)
Fri Oct 09 14:56:03 -0700 2009
commit  34c3bc3022bbb36e5a2466ceb3a7eb4a260d65e9
tree    fe6ef36f6cc9d1b26b4ef55c5db7248ec7efdceb
parent  f1bc24adf09f538a2426ac76b5faacd510b7167b
name age message
file .gitignore Tue Sep 15 22:33:15 -0700 2009 Revendor gems. [technicalpickles]
file Capfile Tue May 27 18:34:06 -0700 2008 Use local deploy. [technicalpickles]
file README.textile Loading commit data...
file Rakefile Sat May 02 10:31:57 -0700 2009 turning fakeweb allow_net_connect to false for ... [dancroak]
directory app/
directory config/
directory db/
directory doc/ Sat May 16 13:57:35 -0700 2009 fixed styling on events/index. removed events R... [dancroak]
directory features/
directory lib/ Fri Oct 09 13:25:51 -0700 2009 Froze Cucumber require library to version 0.3.11 [bcardarella]
directory log/ Wed May 28 20:48:55 -0700 2008 Trying to keep logs working... [technicalpickles]
directory public/
directory script/ Thu May 21 00:29:23 -0700 2009 cleaning up rake tasks, going with rake instead... [dancroak]
directory test/
directory vendor/
README.textile

Boston.rb

This is the source code to Boston.rb, a Rails app which helps Boston Rubyists communicate.

It is open source under the MIT license. Fork away, modify to your own user group’s needs, & send us pull requests!

Dependencies

All gems are vendored except for Nokogiri, JSON, RedCloth, and Feedzirra, which have native extensions, & Cucumber, which doesn’t respect vendoring.

Install:

cucumber 0.3.5 json 1.1.6 pauldix-feedzirra 0.0.12 RedCloth 4.1.0

Tests

We use Cucumber & Webrat for acceptance testing and Shoulda, Factory Girl, & Mocha for unit testing. We use Fakeweb to stop the test suite from hitting external services. We use Nokogiri for parsing markup, especially in acceptance tests.

Development & Test databases

Boston.rb comes without a database.yml. It is also ignored from git. This is so we can deploy with the correct credentials. As a developer, that means you need to create one of your own. Developers are successfully using MySQL & Postgres. SQLite should be fine, too.

Run rake db:bootstrap to seed some example data.

Production

EngineYard is awesome enough to provide us with hosting.

Dependencies

The gems with native dependencies as mentioned above need to be installed on the production machine. Typically you do:

sudo gem install whatever-gem —no-ri —no-rdoc

Since we use some gems that are only on github (ie feedzirra), this needs to be run at least once:

gem sources -a http://gems.github.com

Cron

The following rake tasks need to be configured to keep data fresh:

rake RAILS_ENV=production get_tweets rake RAILS_ENV=production get_blogs

For our EY deployment, there’s a custom wrapper to handle logging output at /engineyard/custom/cron_wrapper, which among other things, adds logging to /data/bostonrb/current/logs. It takes four arguments: the application to run for (always will be bostonrb), the name of the log file, the rails environment, and lastly the command to run

The current crontab entries look like:

*/5 * * * * /engineyard/custom/cron_wrapper bostonrb get_tweets production ‘rake get_tweets’ */5 * * * * /engineyard/custom/cron_wrapper bostonrb get_blogs production ‘rake get_blogs’

Deployers

Josh Nichols and Dan Croak have access to the production slice.
This must be added to cron:

Contributors

Dan Croak, Josh Nichols, Harold Gimenez, Dan Pickett, Rebecca Frankel, Joe Ferris.

Design by Angelo Simeoni.