From: am@...
Date: 2014-07-25T10:55:46+00:00
Subject: [ruby-core:64008] [ruby-trunk - Bug #10092] [Open] singleton_method behaves inconsistent with singleton_methods on modules, extending self

Issue #10092 has been reported by Alexei Matyushkin.

----------------------------------------
Bug #10092: singleton_method behaves inconsistent with singleton_methods on modules, extending self 
https://bugs.ruby-lang.org/issues/10092

* Author: Alexei Matyushkin
* Status: Open
* Priority: Normal
* Assignee: 
* Category: core
* Target version: current: 2.2.0
* ruby -v: ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]
* Backport: 2.1: UNKNOWN
----------------------------------------
Let���s consider the following code:

~~~
module M
  extend self
  def m_i 
    puts "m_i"
  end 
  def m
    puts "include? = [#{singleton_methods.include?(:m_i)}]"
    puts "call = [#{singleton_method(:m_i).call}]" rescue puts $!
  end 
end
~~~

it prints:

~~~
# include? = [true]
# undefined singleton method `m_i' for `M'
~~~

The method is listed under `singleton_methods` while the call to it via `singleton_method` raises an error.



-- 
https://bugs.ruby-lang.org/