https://github.com/solnic/dm-validations-ext
Various additions to the dm-validations API
https://github.com/solnic/dm-validations-ext
Last synced: 12 months 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 (almost 16 years ago)
- Default Branch: master
- Last Pushed: 2011-03-19T12:48:25.000Z (about 15 years ago)
- Last Synced: 2025-05-31T22:57:21.590Z (about 1 year 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::Resource
property :id, Serial
property :name, String
belongs_to :group
has n, :roles
end
class Group
include DataMapper::Resource
property :id, Serial
property :name, String, :length => 10..255
has n, :users
end
class Role
include DataMapper::Resource
property :id, Serial
property :name, String, :length => 4..10
belongs_to :user
end
DataMapper.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 << role
user.save
# => false
user.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"]}>]