On 31/05/11 1:53 AM, Emmanuel Gomez wrote:
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.
I tried ActiveModel validations and Validatable before realising I could use DM validations all along, so I suspect it's perhaps not as well published as it could be --- I just skimmed the docs again and I don't think it is mentioned:
http://datamapper.org/docs/validations


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
ooooh thanks for pointing this out


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