Module: Igniter::Embed

Defined in:
lib/igniter/embed.rb,
lib/igniter/embed/rails.rb,
lib/igniter/embed/config.rb,
lib/igniter/embed/errors.rb,
lib/igniter/embed/registry.rb,
lib/igniter/embed/container.rb,
lib/igniter/embed/contractable.rb,
lib/igniter/embed/host_builder.rb,
lib/igniter/embed/contract_handle.rb,
lib/igniter/embed/contract_naming.rb,
lib/igniter/embed/sugar_expansion.rb,
lib/igniter/embed/contracts_builder.rb,
lib/igniter/embed/execution_envelope.rb,
lib/igniter/embed/contractable/config.rb,
lib/igniter/embed/contractable/runner.rb,
lib/igniter/embed/contractable/adapters.rb,
lib/igniter/embed/contractable/acceptance.rb,
lib/igniter/embed/contractable/sugar_builder.rb

Defined Under Namespace

Modules: ContractNaming, Contractable, Rails Classes: Config, Container, ContractHandle, ContractsBuilder, ExecutionEnvelope, HostBuilder, Registry, SugarExpansion

Constant Summary collapse

Error =
Class.new(StandardError)
DiscoveryError =
Class.new(Error)
DuplicateContractError =
Class.new(Error)
InvalidContractRegistrationError =
Class.new(Error)
SugarError =
Class.new(Error)
UnknownContractError =
Class.new(Error)
UnknownContractableError =
Class.new(Error)
RailsIntegrationError =
Class.new(Error)

Class Method Summary collapse

Class Method Details

.configure(name, &block) ⇒ Object



21
22
23
24
25
# File 'lib/igniter/embed.rb', line 21

def configure(name, &block)
  config = Config.new(name: name)
  block&.call(config)
  Container.new(config: config)
end

.contractable(name, &block) ⇒ Object



33
34
35
# File 'lib/igniter/embed.rb', line 33

def contractable(name, &block)
  Contractable.build(name, &block)
end

.host(name, &block) ⇒ Object



27
28
29
30
31
# File 'lib/igniter/embed.rb', line 27

def host(name, &block)
  config = Config.new(name: name)
  HostBuilder.new(config: config).instance_eval(&block) if block
  Container.new(config: config)
end