Help Us Develop the New ToSBack!

We could use your help building the new Rails version of ToSBack! The hackathon page has a good overview of basic site functionality if you aren’t familiar, but this page should help you see how the components come together. Open your favorite text editor and start contributing!

What We Want to Build

Here’s a basic description of how it should come together:

  1. Policy information in the policies table that isn’t marked as “needs_revision” will be scheduled to scrape policy data from the original site and added to the “crawls” table.
  2. Users will submit new or modified policy information into a “pending_changes” model.
  3. Admins will approve the “pending_changes” and “crawls” (scrape data) before it is visible to most users.
  4. Approving crawls will replace the current data in the policies table and add a row to the versions table.
    • ToSBack will email users that have subscribed to the policy being changed.

And this how the models should be associated:

Model Associations for ToSBack

Would you like to contribute? Awesome! Here are some general guidelines to remember:

  • Write a failing test before implementing the new feature (Red-Green-Refactor).
  • Keep the controllers and views skinny.
  • ToSBack is using factories and RSpec instead of fixtures and Test::Unit.
  • Add the feature you’re working on to the issue tracker if it’s not there already!

Here are some tasks to get us started!

  • Annotating our models, tests, fixtures, and factories.
  • Use layouts and partials to begin building a DRY header and footer area.
  • Add a planned model or controller (with tests and basic validations) that hasn’t been implemented yet.
  • Modify sites#index to display recently changed policies first.
  • Update policy#show action (individual policy)
    • User can choose between available versions.
    • App should display the diff of the versions chosen.
  • Secure any location that may be vulnerable to XSS.

Not a Rails Developer?

Have Questions?

Join the #tosback channel on if you have any questions and we’ll be glad to help!

Leave a Reply

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>