Module_function

Hi,
I’m having some trouble using module_function correctly. If someone
could help me it’d be great.

I have a module M that defines method a().
I would like for a() to be callable by M.a() or include M; a();

However (and this is where my problem lies)
a() calls the helper method b().

module M
module_function
def a
b
end

private
def b
#helper method
end
end

This throws a NoMethodError when I try to call M.a(), because it looks
for M.b() (but there isn’t and shouldn’t be any).

What’s the normal way for resolving this?
Thanks a lot for your help
-patrick

On Aug 7, 3:24 pm, Patrick Li [email protected] wrote:

module M

This throws a NoMethodError when I try to call M.a(), because it looks
for M.b() (but there isn’t and shouldn’t be any).

What’s the normal way for resolving this?

One way is to say, “to hell with module_function”:

module M
extend self

def a
  b
end

private
def b
  #helper method
end

end

T.