Verification: Module methods being called from controller

If I call module methods from a controller by “requiring my module into”
my controller (note that I am not doing a mixin), then it appears that I
have to define the module methods as class methods, e.g.

def self.xyz

in order to access them via the module name.

Why is this necessary if a module isn’t a class?

It’s a little confusing because in the Pickaxe book, it looks like you
can just define module methods with

def xyz

and then access them via ModuleName.xyz.

Is Rails adding a restriction here or am I misunderstanding something
fundamental?

Thanks,
Wes