Referencing a method in a module

Say I have the following:

module Foo

def bar
puts “Baz”
end

end

If I want to write about (in some documentation, or a bug report) the
bar method of the Foo module, what’s the best way of referring to it?
E.g.,

I have found a bug in Foo::bar
I have found a bug in Foo.bar
I have found a bug in the bar method of the Foo module

Or some other way?

Many thanks!

Charles

Foo#bar is usually used for instance methods, Foo.bar for class
methods. In this case I think Foo#bar is correct.

Farrel

On 03/02/2010 11:37, Farrel L. wrote:

Foo#bar is usually used for instance methods, Foo.bar for class
methods. In this case I think Foo#bar is correct.

Ah, yes, I think I’ve seen that. And so Foo::Bar would be for a class
within a module?

Many thanks, Farrel.

Charles

On Wed, Feb 3, 2010 at 10:13 AM, Charles R.
[email protected] wrote:

On 03/02/2010 11:37, Farrel L. wrote:

Foo#bar is usually used for instance methods, Foo.bar for class
methods. In this case I think Foo#bar is correct.

Ah, yes, I think I’ve seen that. And so Foo::Bar would be for a class within
a module?

More generally

Foo::Bar

refers to the constant named Bar within the namespace named Foo.

Foo could be either a Module or a Class

The value of Bar could be a Module, a Class, or actually any value

module Foo
class Bar
Baz = 42
end
module ClassMethods
end
end

Foo is a module here,

Foo::Bar is a class

Foo::ClassMethods is a module

Foo:Bar::Baz is an integer.


Rick DeNatale

Blog: http://talklikeaduck.denhaven2.com/
Twitter: http://twitter.com/RickDeNatale
WWR: http://www.workingwithrails.com/person/9021-rick-denatale
LinkedIn: http://www.linkedin.com/in/rickdenatale

On 3 February 2010 18:25, Rick DeNatale [email protected] wrote:

More generally

 Foo::Bar

refers to the constant named Bar within the namespace named Foo.

Rick, many thanks, your explanation is most illuminating.

Cheers,
Charles

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs