module Kernel

Kernel extensions (methods available to all objects / call sites)

Constants

ARGV_GETS_LOOP

Public Instance Methods

`(cmd) click to toggle source
# File lib/polyphony/extensions/core.rb, line 76
def `(cmd)
  Open3.popen3(cmd) do |i, o, e, _t|
    i.close
    err = e.read
    $stderr << err if err
    o.read || ''
  end
end
Also aliased as: orig_backtick
format_trace(args) click to toggle source
# File lib/polyphony/extensions/debug.rb, line 6
def format_trace(args)
  if args.size > 1 && args.first.is_a?(String)
    format("%s: %p\n", args.shift, args.size == 1 ? args.first : args)
  else
    format("%p\n", args.size == 1 ? args.first : args)
  end
end
orig_backtick(cmd)
Alias for: `
snooze() click to toggle source
VALUE Polyphony_snooze(VALUE self) {
  VALUE ret;
  VALUE fiber = rb_fiber_current();

  Fiber_make_runnable(fiber, Qnil);
  ret = Thread_switch_fiber(rb_thread_current());
  RAISE_IF_EXCEPTION(ret);
  RB_GC_GUARD(ret);
  return ret;
}
suspend() click to toggle source
static VALUE Polyphony_suspend(VALUE self) {
  VALUE ret = Thread_switch_fiber(rb_thread_current());

  RAISE_IF_EXCEPTION(ret);
  RB_GC_GUARD(ret);
  return ret;
}
trace(*args) click to toggle source
# File lib/polyphony/extensions/debug.rb, line 2
def trace(*args)
  STDOUT.orig_write(format_trace(args))
end