Issue #10406 has been updated by Nobuyoshi Nakada.

Tracker changed from Bug to Feature
Category set to syntax
Status changed from Open to Assigned
Assignee set to Yukihiro Matsumoto
Target version set to Next Major

It's a ruby's naming rule.

----------------------------------------
Feature #10406: Method starting with a capital is not detected when parentheses and receiver are omitted
https://bugs.ruby-lang.org/issues/10406#change-49550

* Author: Tsuyoshi Sawada
* Status: Assigned
* Priority: Normal
* Assignee: Yukihiro Matsumoto
* Category: syntax
* Target version: Next Major
----------------------------------------
A method whose name starts with a capital is not detected when parentheses and receiver are omitted.

~~~ruby
def Foo; puts "foo" end
Foo # => uninitialized constant Foo
~~~

If I disambiguate it as a method, then the method is detected:

~~~ruby
Foo() # => foo
~~~

This kind of consideration if unnecessary if the method name does not start with a capital.

~~~ruby
def foo; puts "foo" end
foo # => foo
~~~

So I expect method `Foo` to be detected without explicit receiver and arguments (unless there is a constant with the same name).

~~~ruby
def Foo; puts "foo" end
~~~

I first thought this as a bug. If it is not a bug, then I would like to ask this as a feature request.



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