GitHub - mastahu/ddd_sample_app_ruby: Idiomatic Ruby port of the DDD sample application
Have not yet found a repository implementation that supports aggregates. Rather, each implementation follows a repository-per-object approach, which is not what we need.
Entrepot looks promising. It uses Virtus for the objects and has this kinda weird approach of referencing a repository from a repository:
class Address
include Virtus
include Entrepot::Model
attribute :street, String
attribute :city, String
attribute :country, String
end
class Person
include Virtus
include Entrepot::Mongo::Model
attribute :name, String
attribute :address, Address
end
class PersonRepository
include Entrepot::Repository
has_many :articles, :repository => :ArticleRepository
end