Yes, I do need to do just that from time to time; actually I'm a little 
embarrassed I didn't think of the 'non-persisted model' case for validations.

I'm pretty sure this is published, public api behavior that can be confidently 
made use of into the future.

Along these same lines, check out solnic's virtus project, which seeks to bring 
DM's property API (& validations) to Plain Old Ruby Objects (non-persisted): 
https://github.com/solnic/virtus

Thanks Chris for opening my eyes :),
Emmanuel

On May 30, 2011, at 4:44 AM, Chris Corbyn wrote:

> In answer to my own question, it seems that you can basically do this:
> 
> class Anything
>  include DataMapper::Validations
> 
>  attr_accessor :testing
> 
>  validates_presence_of :testing
> end
> 
> a = Anything.new
> a.valid? # => false
> 
> a.testing = "something"
> a.valid? # => true
> 
> That's excellent.  If I'm doing validations one way in one part of my app I'd 
> rather not write almost, but not quite the same thing in another part of my 
> app.  Is this a published behaviour, or am I risking something breaking 
> further down the line if I take advantage of this?
> 
> Emmanuel, do you never need to validate something that isn't going into the 
> database, but is still user input?  ActiveModel::Validations was done like 
> this for the same reasons.
> 
> 
> On 30/05/2011, at 18:38, Emmanuel Gomez wrote:
> 
>> Hi,
>> 
>> I've been looking through some of dm-validations, and it's clear that some 
>> things could be simplified and tightened up by only supporting validation of 
>> DM::Resources.
>> 
>> Is there a reason for dm-validations to make an effort to support non-dm 
>> objects? dm-validations depends on dm-core, so it can't be used 
>> independently (via rubygems, anyway). 
>> 
>> Any thoughts?
>> 
>> -- Emmanuel
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "DataMapper" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to 
>> [email protected].
>> For more options, visit this group at 
>> http://groups.google.com/group/datamapper?hl=en.
>> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "DataMapper" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/datamapper?hl=en.
> 

-- 
You received this message because you are subscribed to the Google Groups 
"DataMapper" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/datamapper?hl=en.

Reply via email to