Module: Carpenter

Defined in:
lib/carpenter.rb,
lib/carpenter/version.rb,
lib/carpenter/build_dsl.rb,
lib/carpenter/define_dsl.rb,
lib/carpenter/builder_loader.rb

Defined Under Namespace

Modules: BuildDSL, BuilderLoader Classes: DefineDSL

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.build(name, options = {}) ⇒ Object



16
17
18
19
# File 'lib/carpenter.rb', line 16

def self.build(name, options = {})
  builder = builders[name]
  builder.call(options)
end

.buildersObject



4
5
6
# File 'lib/carpenter.rb', line 4

def self.builders
  @builders ||= {}
end

.clearObject



12
13
14
# File 'lib/carpenter.rb', line 12

def self.clear
  @builders = {}
end

.define(&block) ⇒ Object



21
22
23
24
# File 'lib/carpenter.rb', line 21

def self.define(&block)
  dsl = Carpenter::DefineDSL.new
  dsl.instance_eval(&block)
end

.define_builder(name, &builder) ⇒ Object



8
9
10
# File 'lib/carpenter.rb', line 8

def self.define_builder(name, &builder)
  builders[name] = builder
end