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 1320
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 1338
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 1360
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 1329
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);
}