Pry show-source not showing implementation

681 views Asked by At

Using Pry show-source it's not showing me the method implementation as I expected:

[2] pry(main)> show-source Object#extend

From: eval.c (C Method):
Owner: Kernel
Visibility: public
Number of lines: 3

static VALUE
rb_obj_extend(argc, argv, obj)
int argc;

That's all I get, but according to the official docs (I have pry-doc installed) I should see:

[1] pry(main)> show-source Object#extend

From: eval.c (C Method):
Owner: Kernel
Visibility: public
Number of lines: 16

static VALUE
rb_obj_extend(int argc, VALUE *argv, VALUE obj)
{
    int i;

    if (argc == 0) {
         rb_raise(rb_eArgError, "wrong number of arguments (at least 1)");
    }
    for (i = 0; i < argc; i++)
    Check_Type(argv[i], T_MODULE);
    while (argc--) {
        rb_funcall(argv[argc], rb_intern("extend_object"), 1, obj);
        rb_funcall(argv[argc], rb_intern("extended"), 1, obj);
    }
    return obj;
}
[2] pry(main)>

Any ideas about why is this happening?

1

There are 1 answers

0
Daniel Romero On

This solved it for me:

$ rvm docs generate all

Also useful, if you want to generate the ri docs for all your installed gems:

gem rdoc --all --ri --no-rdoc