class Descriptor::Builder

Attributes

__desc__[R]

Public Class Methods

new(desc) click to toggle source
# File lib/rui/descriptor.rb, line 216
def initialize(desc)
  @__desc__ = desc
end

Public Instance Methods

merge_point(count = -1) click to toggle source
# File lib/rui/descriptor.rb, line 237
def merge_point(count = -1)
  @__desc__.add_merge_point(@__desc__.children.size, count)
end
method_missing(name, *args, &blk) click to toggle source
# File lib/rui/descriptor.rb, line 220
def method_missing(name, *args, &blk)
  opts = if args.empty?
    { }
  elsif args.size == 1
    if args.first.is_a? Hash
      args.first
    else
      { :name => args.first }
    end
  else
    args[-1].merge(:name => args.first)
  end
  child = Descriptor.new(name, opts)
  self.class.new(child).instance_eval(&blk) if block_given?
  __desc__.add_child(child)
end