# File lib/autumn/datamapper_hacks.rb, line 198
  def properties_with_subclasses(repository_name = default_repository_name)
    properties = DataMapper::PropertySet.new
    ([ self ].to_set + (respond_to?(:descendants) ? descendants : [])).each do |model|
      model.relationships(repository_name).each_value { |relationship| relationship.child_key(repository_name) }
      model.many_to_one_relationships.each do |relationship| relationship.child_key(repository_name) end
      model.properties(repository_name).each do |property|
        properties << property unless properties.has_property?(property.name)
      end
    end
    properties
  end