class Murk::Builder::MurkBuilder

Public Class Methods

new(user) click to toggle source
# File lib/murk/builder/murk_builder.rb, line 6
def initialize user
  @options_builder = OptionsBuilder.new
  @stack_builders = []
  @current_env = nil
  @user = user
end

Public Instance Methods

build() click to toggle source
# File lib/murk/builder/murk_builder.rb, line 32
def build
  Murk.configure(@options_builder.build)

  stack_collection = Murk::Model::StackCollection.new

  @stack_builders.each do |builder|
    stack_collection.add(builder.build)
  end
  stack_collection
end
env(name, &block) click to toggle source
# File lib/murk/builder/murk_builder.rb, line 18
def env(name, &block)
  @current_env = name
  instance_eval(&block)
  @current_env = nil
  self
end
options(&block) click to toggle source
# File lib/murk/builder/murk_builder.rb, line 13
def options(&block)
  @options_builder.instance_eval(&block)
  self
end
stack(name, &block) click to toggle source
# File lib/murk/builder/murk_builder.rb, line 25
def stack(name, &block)
  stack_builder = StackBuilder.new(name, user: @user, env: @current_env)
  stack_builder.instance_eval(&block)
  @stack_builders << stack_builder
  self
end