Class: Synapse::Configuration::Definition

Inherits:
Object
  • Object
show all
Defined in:
lib/synapse/configuration/definition.rb

Overview

Represents a definition for a service being provided by the container

See Also:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(tags, prototype, factory, instance) ⇒ undefined

Parameters:

  • tags (Set)
  • prototype (Boolean)
  • factory (Proc)
  • instance (Object)


14
15
16
17
18
19
# File 'lib/synapse/configuration/definition.rb', line 14

def initialize(tags, prototype, factory, instance)
  @tags = tags
  @prototype = prototype
  @factory = factory
  @instance = instance
end

Instance Attribute Details

#tagsSet (readonly)

Returns Symbols that this definition is tagged with.

Returns:

  • (Set)

    Symbols that this definition is tagged with



7
8
9
# File 'lib/synapse/configuration/definition.rb', line 7

def tags
  @tags
end

Instance Method Details

#resolveObject

Returns:

  • (Object)


22
23
24
25
26
27
28
# File 'lib/synapse/configuration/definition.rb', line 22

def resolve
  if @prototype
    @factory.call
  else
    @instance ||= @factory.call
  end
end