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