class QemuToolkit::DSL::Unit

Public Class Methods

new(obj, &block) click to toggle source
# File lib/qemu-toolkit/dsl.rb, line 58
def initialize(obj, &block)
  @object = obj
  instance_eval(&block)
end

Public Instance Methods

method_missing(sym, *args, &block) click to toggle source
Calls superclass method
# File lib/qemu-toolkit/dsl.rb, line 63
def method_missing(sym, *args, &block)
  delegate = find_delegate_method(sym, @object)
  return super unless delegate

  if delegate.arity == args.size
    delegate.call(*args, &block)
  else
    delegate.call(args, &block)
  end
end
respond_to?(sym) click to toggle source
Calls superclass method
# File lib/qemu-toolkit/dsl.rb, line 73
def respond_to?(sym)
  find_delegate_method(sym, @object) || super
end

Private Instance Methods

find_delegate_method(sym, obj) click to toggle source
# File lib/qemu-toolkit/dsl.rb, line 78
def find_delegate_method sym, obj
  ["#{sym}=", "add_#{sym}"].each { |dm| 
    return obj.method(dm) if obj.respond_to? dm } 
  nil
end