Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A little toy application I wrote to test my abilities. Took about a week and a half and was the first time I'd ever used Rspec, Dataset, and Shoulda.
Ruby JavaScript
tree: 27ab069e43
Failed to load latest commit information.
db TimeEntries no longer require hours to be an integer. Hours must be g…
.gitignore added docs to gitignore
README README file edited to give some guidance as to how to start working w…


== Timesheets

In this small Rails application, the user is presented with a simple interface for entering
time against a set of projects, each with different activity types associated to them. The
user can navigate between weeks or jump to a particular timesheet using timesheets index
page.  The user can save a partially completed sheet and resume entering time into the sheet

Plugins used:
* Authlogic ( for user registration/authentication
* Spec::Rails ( for testing with Autotest
* Dataset ( to generate test data using Ruby code instead of fixtures
* Shoulda ( for simplifying model specs via "should macros" (see spec/models/*_spec.rb)

This application also borrows heavily from the ideas in the complex-form-examples repository by
`alloy` on GitHub:

== Dependencies

Authlogic, Spec::Rails, and Shoulda are configured as gems and can be installed by using 
`rake gems:install`. Dataset is distributed with the code under `/vendor/plugins/dataset`.

== Getting Started

All datasets can be loaded into the development database by issuing the following rake command:
`rake db:dataset:load`.  This will create two users:

1. `ben/benrocks`
2. `zack/zackrocks`

Each of these users have pre-defined timesheets. There are also two pre-defined projects, "ProjectX" and "ProjectE", each with their own activity types.  These can be managed at `/projects`
by a logged in user.

Timesheets can be accessed by date, e.g. `/timesheets/2009/4/13` will render a form to edit the
logged in user's timesheet for the week starting April 13, 2009. If no timesheet exists, a new
one is created and presented for editing.
Something went wrong with that request. Please try again.