Class: Enumerator::Yielder
Instance Method Summary collapse
-
#<<(arg) ⇒ Object
:nodoc:.
-
#initialize ⇒ Object
constructor
:nodoc:.
-
#to_proc ⇒ Object
Returns a Proc object that takes an argument and yields it.
-
#yield(args) ⇒ Object
:nodoc:.
Constructor Details
#initialize ⇒ Object
:nodoc:
1333 1334 1335 1336 1337 1338 1339 |
# File 'enumerator.c', line 1333
static VALUE
yielder_initialize(VALUE obj)
{
rb_need_block();
return yielder_init(obj, rb_block_proc());
}
|
Instance Method Details
#<<(arg) ⇒ Object
:nodoc:
1351 1352 1353 1354 1355 1356 1357 1358 1359 |
# File 'enumerator.c', line 1351
static VALUE
yielder_yield_push(VALUE obj, VALUE arg)
{
struct yielder *ptr = yielder_ptr(obj);
rb_proc_call_with_block(ptr->proc, 1, &arg, Qnil);
return obj;
}
|
#to_proc ⇒ Object
1373 1374 1375 1376 1377 1378 1379 |
# File 'enumerator.c', line 1373
static VALUE
yielder_to_proc(VALUE obj)
{
VALUE method = rb_obj_method(obj, sym_yield);
return rb_funcall(method, idTo_proc, 0);
}
|
#yield(args) ⇒ Object
:nodoc:
1342 1343 1344 1345 1346 1347 1348 |
# File 'enumerator.c', line 1342
static VALUE
yielder_yield(VALUE obj, VALUE args)
{
struct yielder *ptr = yielder_ptr(obj);
return rb_proc_call_kw(ptr->proc, args, RB_PASS_CALLED_KEYWORDS);
}
|