Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

32 lines (19 sloc) 1.362 kb
## Design Notes / Constraints
- All scripts will comform to Unix argument conventions
- All scripts will die immediately on ^C
- All scripts, and framework loads, will take less than 100 ms
- Autoreload will happen by killing and restarting, not in-place
- Releases will follow semantic versioning
- You only call Raptor when you're constructing stuff to return to the framework.
- The framework will avoid inheritance as much as possible (both internally and externally).
## Sanity Notes
- Mutating a record in a presenter is an error
- No two injectables may register the same name
## Testing
- Running request tests generates transcripts of the requests as text files. Reviewing these on commit can reveal unintended changes.
- Add request metatests that duplicate requests that should be idempotent (everything except POSTs) and verify that they actually are. (Good idea?)
## Possible database layer primitives
https://github.com/nateware/redis-objects
## Misc TODOs
Build an example of implementing an access policy at the routing layer. Something like `DocumentAccessRequirement#match?(user, document)`, with a corresponding `:require => document_access` in the route.
Requirements should probably raise/return objects indicating HTTP status code instead of simply matching. That way, an auth requirement can cause a 403 instead of just a 404.
Jump to Line
Something went wrong with that request. Please try again.