saghaulor.com
Ruby JavaScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
config
db
doc
features/support
lib
log
public
script
spec
test
vendor
.gitignore
.rspec
Gemfile
Gemfile.lock
Guardfile
README.rdoc
Rakefile
config.ru

README.rdoc

Background

  1. This app is configured to optimize BDD development on Mac OS X.

  2. Guard is wired in to watch specs and cukes; it will autorun tests as they are modified.

  3. Growl will throw notifications regarding the test run results.

  4. Guard is wired to watch important files that the application depends on; it will restart spork and pow when any of these files are modified.

  5. Guard is wired to watch the gemfile; it will run bundler if the gemfile is modified.

  6. This app uses pow for its development server.

  7. This app uses Couchdb/Couchbase for its database. As such ActiveRecord is removed from the dependencies.

  8. This app uses Rails v3.2

  9. This app is built on Ruby v1.9.3. Using v1.9.3 is highly recommended as it is much faster than v1.9.2.

  10. This app uses Rspec and Cucumber as its test frameworks.

Getting Started

  1. $ curl get.pow.cx | sh ## Install the pow server

  2. git clone git@github.com:saghaulor/saghaulor.com.git ~/your_project_dir/your_project_name

  3. bundle –binstubs=./bundler_stubs

  4. Install growlnotify # growl.info/downloads#generaldownloads

  5. bundle exec guard ## Start running guard so that your environment is automated

  6. ls -s ~/your_project_dir/your_project_name ## From inside ~/.pow/

  7. open your_project_name.dev ## Opens the browser to your app

Notes

  1. JavaScript still requires implementation. Jasmine will be used for the JS test framework.

  2. A browser driver has not been implemented yet. I am still deciding on whether to use Capybara or Selenium.

  3. Presently couch_potato is the db driver. However, there is another called couchbase. I'm using couch_potato for now as it seems more robust.

  4. This setup could be easily modified for Linux development. Use libnotify instead of growl, and use thin for your webserver instead of pow.