Class: DesignByContract::Pattern::DependencyInjection

Inherits:
Object
  • Object
show all
Defined in:
lib/design_by_contract/pattern/dependency_injection.rb

Instance Method Summary collapse

Constructor Details

#initialize(target_class, initialize_signature_spec) ⇒ DependencyInjection

Returns a new instance of DependencyInjection.



2
3
4
5
6
# File 'lib/design_by_contract/pattern/dependency_injection.rb', line 2

def initialize(target_class, initialize_signature_spec)
  @target_class = target_class
  @signature = DesignByContract::Signature.new(initialize_signature_spec)
  @teardowns = []
end

Instance Method Details

#downObject



13
14
15
16
# File 'lib/design_by_contract/pattern/dependency_injection.rb', line 13

def down
  @teardowns.each(&:call)
  @teardowns.clear
end

#upObject



8
9
10
11
# File 'lib/design_by_contract/pattern/dependency_injection.rb', line 8

def up
  validate_initialize_method_signature
  add_on_call_validation_hook
end