Class: Enumerator::Yielder
| Relationships & Source Files | |
| Inherits: | Object |
| Defined in: | enumerator.c |
Overview
Yielder
Class Method Summary
- .new constructor Internal use only
Instance Method Summary
-
#to_proc
Returns a
::Procobject that takes arguments and yields them. - #<<(arg) Internal use only
- #yield(args) Internal use only
Constructor Details
.new
This method is for internal use only.
[ GitHub ]
# File 'enumerator.c', line 1334
static VALUE
yielder_initialize(VALUE obj)
{
rb_need_block();
return yielder_init(obj, rb_block_proc());
}
Instance Method Details
#<<(arg)
This method is for internal use only.
[ GitHub ]
# File 'enumerator.c', line 1352
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
# File 'enumerator.c', line 1374
static VALUE
yielder_to_proc(VALUE obj)
{
VALUE method = rb_obj_method(obj, sym_yield);
return rb_funcall(method, idTo_proc, 0);
}
#yield(args)
This method is for internal use only.
[ GitHub ]
# File 'enumerator.c', line 1343
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);
}