Module: Igniter::Extensions::Contracts::IncrementalPack

Defined in:
lib/igniter/extensions/contracts/incremental_pack.rb

Class Method Summary collapse

Class Method Details

.ensure_installed!(profile) ⇒ Object

Raises:

  • (Igniter::Contracts::Error)


31
32
33
34
35
36
# File 'lib/igniter/extensions/contracts/incremental_pack.rb', line 31

def ensure_installed!(profile)
  return if profile.pack_names.include?(:extensions_incremental)

  raise Igniter::Contracts::Error,
        "IncrementalPack is not installed in profile #{profile.fingerprint}; add Igniter::Extensions::Contracts::IncrementalPack"
end

.install_into(kernel) ⇒ Object



21
22
23
# File 'lib/igniter/extensions/contracts/incremental_pack.rb', line 21

def install_into(kernel)
  kernel
end

.manifestObject



14
15
16
17
18
19
# File 'lib/igniter/extensions/contracts/incremental_pack.rb', line 14

def manifest
  Igniter::Contracts::PackManifest.new(
    name: :extensions_incremental,
    metadata: { category: :orchestration }
  )
end

.session(environment, compiled_graph: nil, &block) ⇒ Object



25
26
27
28
29
# File 'lib/igniter/extensions/contracts/incremental_pack.rb', line 25

def session(environment, compiled_graph: nil, &block)
  graph = compiled_graph || environment.compile(&block)
  ensure_installed!(environment.profile)
  Incremental::Session.new(compiled_graph: graph, profile: environment.profile)
end