https://github.com/solnic/dm-validations-ext
Various additions to the dm-validations API
https://github.com/solnic/dm-validations-ext
Last synced: 27 days ago
JSON representation
Various additions to the dm-validations API
- Host: GitHub
- URL: https://github.com/solnic/dm-validations-ext
- Owner: solnic
- License: mit
- Created: 2010-09-09T16:30:16.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2011-03-19T12:48:25.000Z (about 14 years ago)
- Last Synced: 2025-04-18T15:16:31.045Z (about 1 month ago)
- Language: Ruby
- Homepage:
- Size: 101 KB
- Stars: 11
- Watchers: 2
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.rdoc
- License: LICENSE
Awesome Lists containing this project
README
= dm-validations-ext
DataMapper plugin providing access to validation errors of associated parent and children objects. See the example below to get an idea on how it works.
= Example
DataMapper.setup :default, "sqlite::memory"
class User
include DataMapper::Resourceproperty :id, Serial
property :name, Stringbelongs_to :group
has n, :roles
endclass Group
include DataMapper::Resourceproperty :id, Serial
property :name, String, :length => 10..255has n, :users
endclass Role
include DataMapper::Resourceproperty :id, Serial
property :name, String, :length => 4..10belongs_to :user
endDataMapper.finalize
DataMapper.auto_migrate!user = User.new(:name => "John")
group = Group.new(:name => "Too Short")
role = Role.new(:name => "Way Too Long")user.group = group
user.roles << roleuser.save
# => falseuser.errors[:group].inspect
# => , @errors={:name=>["Name must be between 10 and 255 characters long"]}>user.errors[:roles].inspect
# => [#, @errors={:name=>["Name must be between 4 and 10 characters long"], :user_id=>["User must not be blank"]}>]