TODO

Path: TODO
Last Update: Tue Mar 02 05:23:47 -0700 2010

### -*- mode:org -*-

  • Spec suite improvement

** integration *** DONE bcrypt_hash_spec.rb *** DONE enum_spec.rb *** DONE file_path_spec.rb *** DONE flag_spec.rb *** DONE ip_address_spec.rb *** DONE json_spec.rb *** DONE slug_spec.rb *** DONE uri_spec.rb *** DONE uuid_spec.rb *** DONE yaml_spec.rb

    MK reworked spec suite to the point we actually
    can trust it

** fixtures

   It should be perfectly possible to combine fixture
   models from dm-validations and dm-types, and publish
   a little gem that all DM plugins developers can use
   as a basis

*** TODO Investigate if sharing of models across DM plugins makes sense

  • Ideas/prototypes of New types

** SHA1 hash

   Case: when you want to compute SHA1 of another property
   and store it. Useful for file stores, caching and other things.

   Would be a good example of how types can interact with models
   via property binding

** LowercaseString

   A string type subclass that downcases the input

   Case: CASES WHERE YOU WOULD HATE TO SEE UPPERCASE!

** EmbeddedValue

   An experiment of type/model interaction: takes a class
   and uses YAML/JSON for serialization

   To complete the picture we would need to add validation
   delegation (so embedded object can add errors to
   the parent if it makes sense), but it would be helpful
   to shape up Property/Type refactoring, and should take
   as little time as one evening

** ZIP

   Input: a string, output: a ZIP object that is smart enough
   to provide predicates

   Need to find a library for zips that would fit

** Address

   Same as ZIP but for actuall address. Again, stored
   in YAML I suppose

** Coordinate

   Input: two floats or two strings can be cast to floats,
   output: object that knows how to render a map for itself

** DNA

   Mostly for fun, to see how far we can push current types API
   with little help from BioRuby

[Validate]