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/