These are a collection of Scala utilities that I commonly use across projects. They were also the earlier pieces of code I cut my Scala teeth on, and continue to develop as I learn what are best practices, and what I'm doing that are terrible practices.
I build everything using Maven so that I get workspace dependency resolution in Eclipse via m2e plugin. SBT is great, but until I get better IDE dependency management with it, it hurts me more than it helps me.
Basic, common utilities for use in any application.
- email easy SMTP mailer and
javax.mail.Session
factory - errors application error manager that allows you to define unique error codes and messages
- log Logger trait, depends on
slf4j
- scalate Scalate templating engine and rendering manager, used by other utilities in this suite
Comprehensive toolkit for bootstrapping an application with Slick from Typesafe. Includes driver abstractions for PostgreSQL, H2, and MySQL, and simple to use traits to enable transactional scopes (read-only, read-write) in your code.
Lots of concepts from this 42go engineering blog post.
Basic set of helpers for the unfiltered web toolkit, which contains:
- errors extension of
common.errors
that allows for http status codes - params common request parameter extractors
- scalate a Scalate template engine that returns unfiltered
ResponseWriter
instances and defines default template locations
The bulk of this project surrounds the Resource
class, which constructs an unfiltered plan that handles RESTful resource
definitions.
An example of an unfiltered-api-core based resource definition that describes an authorized Session
resource, for web
applications that require it.
An unfiltered plan that services WRO4J serviced web assets. I use this to serve SASS, Coffeescript, and group together external libraries as a single JS or CSS URL.
Base utilities for Specs 2 testing infrastructure (unimplemented).
Base harness for testing my unfiltered-api-core api.Resource
plans.
Base harness for testing slick code against a database, and a way to rollback changes.
Base harness for testing WRO code (unimplemented).