class Moltrio::Config::ChainBuilder

Attributes

config[R]

Public Class Methods

new(config) click to toggle source
# File lib/moltrio/config/chain_builder.rb, line 14
def initialize(config)
  @config = config
  @links = Hamster.vector
end
run(config, &block) click to toggle source
# File lib/moltrio/config/chain_builder.rb, line 8
def self.run(config, &block)
  builder = new(config)
  builder.instance_exec(&block)
  builder.chain
end

Public Instance Methods

chain() click to toggle source
# File lib/moltrio/config/chain_builder.rb, line 49
def chain
  AdapterChain.new(@links)
end
database_yml(path) click to toggle source
# File lib/moltrio/config/chain_builder.rb, line 39
def database_yml(path)
  link = DatabaseYmlAdapter.new(path)
  @links = @links << link
end
env_variables(prefix) click to toggle source
# File lib/moltrio/config/chain_builder.rb, line 44
def env_variables(prefix)
  link = EnvVariablesAdapter.new(prefix)
  @links = @links << link
end
multitenant_directory(*args) click to toggle source
# File lib/moltrio/config/chain_builder.rb, line 34
def multitenant_directory(*args)
  link = MultitenantDirectoryAdapter.new(config, *args)
  @links = @links << link
end
multitenant_redis(*args) click to toggle source
# File lib/moltrio/config/chain_builder.rb, line 19
def multitenant_redis(*args)
  link = MultitenantRedisAdapter.new(config, *args)
  @links = @links << link
end
single_file(*args) click to toggle source
# File lib/moltrio/config/chain_builder.rb, line 29
def single_file(*args)
  link = SingleFileAdapter.new(config, *args)
  @links = @links << link
end
single_redis(*args) click to toggle source
# File lib/moltrio/config/chain_builder.rb, line 24
def single_redis(*args)
  link = SingleRedisAdapter.new(config, *args)
  @links = @links << link
end