Module: Igniter::Contracts::Assembly::ConstPack

Defined in:
lib/igniter/contracts/assembly/const_pack.rb

Class Method Summary collapse

Class Method Details

.install_into(kernel) ⇒ Object



16
17
18
19
20
21
22
23
24
25
# File 'lib/igniter/contracts/assembly/const_pack.rb', line 16

def install_into(kernel)
  return kernel if kernel.nodes.registered?(:const)

  kernel.nodes.register(:const, NodeType.new(kind: :const, metadata: { category: :value }))
  kernel.dsl_keywords.register(:const, DslKeyword.new(:const) do |name, value, builder:|
    builder.add_operation(kind: :const, name: name, value: value)
  end)
  kernel.runtime_handlers.register(:const, Execution::ConstRuntime.method(:handle_const))
  kernel
end

.manifestObject



9
10
11
12
13
14
# File 'lib/igniter/contracts/assembly/const_pack.rb', line 9

def manifest
  PackManifest.new(
    name: :const,
    node_contracts: [PackManifest.node(:const)]
  )
end