Class: Dichotomy::Extensions::DefaultExtension

Inherits:
Base::Extension::ContainerExtension show all
Defined in:
lib/dichotomy/extensions/default_extension.rb

Instance Method Summary collapse

Methods inherited from Base::Extension::ContainerExtension

#initialize_extension, #update

Instance Method Details

#initialize_contextObject



11
12
13
# File 'lib/dichotomy/extensions/default_extension.rb', line 11

def initialize_context
  #@context.container.extend(Defaults::ExtensionMethods)
end

#observed_notifications(symbol, type) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/dichotomy/extensions/default_extension.rb', line 15

def observed_notifications(symbol, type)
  if symbol === :register_type
    on_register_type(type)

    puts "Running: " + symbol.to_s
  end

  if symbol === :resolve_type
    on_resolve_type(type)

    puts "Running: " + symbol.to_s
  end

  if symbol === :new_build_up
    on_register_type(type) # by example

    puts "Running: " + symbol.to_s
  end
end

#on_register_type(type) ⇒ Object



35
36
37
38
# File 'lib/dichotomy/extensions/default_extension.rb', line 35

def on_register_type(type)
  @context.build_manager.strategies.add(Defaults::Strategies::PreCreationStrategy.new, Base::Managers::Builder::BuildStage::PRE_CREATION)
  @context.build_manager.strategies.add(Defaults::Strategies::CreationStrategy.new, Base::Managers::Builder::BuildStage::CREATION)
end

#on_resolve_type(type) ⇒ Object



40
41
42
# File 'lib/dichotomy/extensions/default_extension.rb', line 40

def on_resolve_type(type)
  @context.build_manager.strategies.add(Defaults::Strategies::DefaultResolveStrategy.new, Base::Managers::Builder::BuildStage::PRE_CREATION)
end