Skip to content

Instantly share code, notes, and snippets.

@solnic
Created September 15, 2011 14:20
Show Gist options
  • Select an option

  • Save solnic/1219354 to your computer and use it in GitHub Desktop.

Select an option

Save solnic/1219354 to your computer and use it in GitHub Desktop.
require 'rubygems'
require 'bundler/setup'
require 'dm-core'
require 'dm-migrations'
DataMapper::Logger.new($stdout, :debug)
DataMapper.setup(:default, 'sqlite::memory:')
class Person
include DataMapper::Resource
property :id, Serial
property :founder, Boolean, :default => false
belongs_to :inviter, "Person", :required => false
has n, :people, :child_key => [ :inviter_id ]
def self.founders
all(:founder => true)
end
def self.inviters
all(:founder => false)
end
end
DataMapper.finalize.auto_migrate!
require 'test/unit'
class TestNestedModelBug < Test::Unit::TestCase
def test_nested_queries
founder = Person.create(:founder => true)
invited = Person.create(:inviter => founder)
assert_equal 2, Person.count
assert_equal 1, Person.founders.people.count
assert_equal 0, Person.inviters.people.count
end # test_nested_queries
end # class NestedModelBug
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment