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