class Synapse::Configuration::MongoProcessRepositoryDefinitionBuilder
Definition builder used to create a Mongo-backed process repository
@example The minimum possible effort to build a process repository
mongo_process_repository do use_client Mongo::MongoClient.new end
@example Mix it up a bit
mongo_process_repository :alt_process_repository do use_resource_injector :alt_resource_injector use_serializer :alt_serializer use_template :alt_template end
Public Instance Methods
Convenience method that creates a process repository template with the given Mongo
client
@param [Mongo::MongoClient] client @return [undefined]
# File lib/synapse/configuration/process_manager/mongo/process_repository.rb, line 21 def use_client(client) @template = ProcessManager::Mongo::Template.new client end
Changes the resource injector to use with this process repository
@see ProcessManager::ResourceInjector @param [Symbol] resource_injector @return [undefined]
# File lib/synapse/configuration/process_manager/mongo/process_repository.rb, line 48 def use_resource_injector(resource_injector) @resource_injector = resource_injector end
Changes the serializer to use with this process repository
@see Serialization::Serializer @param [Symbol] serializer @return [undefined]
# File lib/synapse/configuration/process_manager/mongo/process_repository.rb, line 30 def use_serializer(serializer) @serializer = serializer end
Changes the Mongo
template to use with this process repository
@see ProcessManager::Mongo::Template
@param [Symbol] template @return [undefined]
# File lib/synapse/configuration/process_manager/mongo/process_repository.rb, line 39 def use_template(template) @template = template end
Protected Instance Methods
@return [undefined]
# File lib/synapse/configuration/process_manager/mongo/process_repository.rb, line 55 def populate_defaults identified_by :process_repository use_resource_injector :resource_injector use_serializer :serializer use_template :mongo_process_repository_template use_factory do serializer = resolve @serializer template = resolve @template resource_injector = resolve @resource_injector, true process_repository = ProcessManager::Mongo::MongoProcessRepository.new serializer, template if resource_injector process_factory.resource_injector = resource_injector end process_repository end end