Ignore .DS_Store files.
Transaction is a value object.
Move cleaning of card message into a coercion.
Replace ActiveRecord pattern with DataMapper.

Done as an experiment out of curiosity, rather than need.