Class: Synapse::Configuration::MongoProcessRepositoryDefinitionBuilder

Inherits:
DefinitionBuilder
  • Object
show all
Defined in:
lib/synapse/configuration/process_manager/mongo/process_repository.rb

Overview

Definition builder used to create a Mongo-backed process repository

Examples:

The minimum possible effort to build a process repository

mongo_process_repository do
  use_client Mongo::MongoClient.new
end

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

Instance Method Summary collapse

Instance Method Details

#use_client(client) ⇒ undefined

Convenience method that creates a process repository template with the given Mongo client

Parameters:

  • client (Mongo::MongoClient)

Returns:

  • (undefined)


21
22
23
# File 'lib/synapse/configuration/process_manager/mongo/process_repository.rb', line 21

def use_client(client)
  @template = ProcessManager::Mongo::Template.new client
end

#use_resource_injector(resource_injector) ⇒ undefined

Changes the resource injector to use with this process repository

Parameters:

  • resource_injector (Symbol)

Returns:

  • (undefined)

See Also:

  • ProcessManager::ResourceInjector


48
49
50
# File 'lib/synapse/configuration/process_manager/mongo/process_repository.rb', line 48

def use_resource_injector(resource_injector)
  @resource_injector = resource_injector
end

#use_serializer(serializer) ⇒ undefined

Changes the serializer to use with this process repository

Parameters:

  • serializer (Symbol)

Returns:

  • (undefined)

See Also:

  • Serialization::Serializer


30
31
32
# File 'lib/synapse/configuration/process_manager/mongo/process_repository.rb', line 30

def use_serializer(serializer)
  @serializer = serializer
end

#use_template(template) ⇒ undefined

Changes the Mongo template to use with this process repository

Parameters:

  • template (Symbol)

Returns:

  • (undefined)

See Also:



39
40
41
# File 'lib/synapse/configuration/process_manager/mongo/process_repository.rb', line 39

def use_template(template)
  @template = template
end