class Uber::Builder::Constant

Public Class Methods

new(constant) click to toggle source
# File lib/garcon/utility/uber/builder.rb, line 32
def initialize(constant) # TODO: evaluate usage of builders and implement using Uber::Options::Value.
  @constant     = constant
  @builders     = @constant.builders # only dependency, must be a Cell::Base subclass.
end

Public Instance Methods

call(*args) click to toggle source
# File lib/garcon/utility/uber/builder.rb, line 37
def call(*args)
  build_class_for(*args)
end

Private Instance Methods

build_class_for(*args) click to toggle source
# File lib/garcon/utility/uber/builder.rb, line 42
def build_class_for(*args)
  @builders.each do |blk|
    klass = run_builder_block(blk, *args) and return klass
  end
  @constant
end
run_builder_block(block, *args) click to toggle source
# File lib/garcon/utility/uber/builder.rb, line 49
def run_builder_block(block, *args)
  block.call(*args)
end