Class: Moltrio::Config::ChainContainer

Inherits:
Object
  • Object
show all
Defined in:
lib/moltrio/config/chain_container.rb

Instance Method Summary collapse

Constructor Details

#initialize(chains) ⇒ ChainContainer

Returns a new instance of ChainContainer.



7
8
9
# File 'lib/moltrio/config/chain_container.rb', line 7

def initialize(chains)
  @chains = chains
end

Instance Method Details

#available_namespaces(chain_name = :default) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/moltrio/config/chain_container.rb', line 17

def available_namespaces(chain_name = :default)
  unless chain = chains[chain_name]
    raise "No chain named #{chain_name} chain configured!"
  end

  chain.available_namespaces
end

#chain(name) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/moltrio/config/chain_container.rb', line 25

def chain(name)
  chain = chains[name]

  if chain.nil?
    raise "No chain named #{name.inspect} configured!"
  elsif chain.missing_namespace?
    raise "Chain #{name.inspect} requires namespace, but no namespace provided"
  else
    chain
  end
end

#default_chainObject



13
14
15
# File 'lib/moltrio/config/chain_container.rb', line 13

def default_chain
  chain(:default)
end