Skip to content

Instantly share code, notes, and snippets.

@dsisnero
Created May 12, 2010 20:29
Show Gist options
  • Save dsisnero/399084 to your computer and use it in GitHub Desktop.
Save dsisnero/399084 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby -Ku
# encoding: utf-8
require 'pp'
require 'rubygems'
require 'dm-core'
DataMapper::Logger.new($stdout, :debug)
DataMapper.setup(:default, 'sqlite3::memory:')
class User
include DataMapper::Resource
property :id, Serial
property :name, String, :length => 1..100, :required => true
has n, :roles, :through => Resource
end
class Role
include DataMapper::Resource
property :id, Serial
property :name, String, :length => 1..20, :required => true
has n, :users, :through => Resource
end
DataMapper.auto_migrate!
User.create(:name => 'Dan Kubb', :roles => [ { :name => 'Administrator' } ])
User.create(:name => 'John Doe', :roles => [ { :name => 'User' } ])
User.create(:name => 'Jane Doe', :roles => [ { :name => 'User' } ])
puts '-' * 80
pp User.all(:roles => { :name => 'Administrator' })
pp User.all(:roles => { :name => 'User' })
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment