Module: Tailmix::DSL

Defined in:
lib/tailmix/dsl.rb

Instance Method Summary collapse

Instance Method Details

#devObject



29
30
31
# File 'lib/tailmix/dsl.rb', line 29

def dev
  Dev::Tools.new(self)
end

#tailmix(&block) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/tailmix/dsl.rb', line 9

def tailmix(&block)
  child_context = Definition::Builders::ComponentBuilder.new(component_name: self)
  child_context.instance_eval(&block)
  child_definition = child_context.build_definition

  if superclass.respond_to?(:tailmix_definition) && (parent_definition = superclass.tailmix_definition)
    @tailmix_definition = Definition::Merger.call(parent_definition, child_definition)
  else
    @tailmix_definition = child_definition
  end
end

#tailmix_definitionObject



21
22
23
# File 'lib/tailmix/dsl.rb', line 21

def tailmix_definition
  @tailmix_definition || raise(Error, "Tailmix definition not found in #{name}")
end

#tailmix_facade_classObject



25
26
27
# File 'lib/tailmix/dsl.rb', line 25

def tailmix_facade_class
  @_tailmix_facade_class ||= Runtime::FacadeBuilder.build(tailmix_definition)
end