定義がトップレベルで実行され、結果が驚くべきものである場合、Ruby でメソッドが定義されている場所を確認するためにチェックしていました。
def foo; end
singleton_class != Object # => true
self.class == Object # => true
m1 = singleton_class.instance_method :foo
# => #<UnboundMethod: Object#foo>
m2 = Object.instance_method :foo
# => #<UnboundMethod: Object#foo>
m1 == m2 # => true
foo
同時に2つのクラスで定義されているようです! 説明はありますか?