class Synapse::Configuration::SimpleRepositoryDefinitionBuilder

Definition builder used to create simple aggregate repositories

@example The minimum possible effort to build a simple repository

simple_repository :user_repository do
  use_aggregate_type User
end

Public Instance Methods

use_aggregate_type(aggregate_type) click to toggle source

@see Domain::AggregateRoot @param [Class] aggregate_type @return [undefined]

# File lib/synapse/configuration/component/repository/simple_repository.rb, line 13
def use_aggregate_type(aggregate_type)
  @aggregate_type = aggregate_type
end

Protected Instance Methods

populate_defaults() click to toggle source

@return [undefined]

# File lib/synapse/configuration/component/repository/simple_repository.rb, line 20
def populate_defaults
  super

  use_factory do
    lock_manager = build_lock_manager

    repository = Repository::SimpleRepository.new lock_manager, @aggregate_type
    inject_base_dependencies repository
  end
end