Need a bit help on "module_function" method

The documentation is very straight forward and the mentioned example
also cleared all the lines except the one mentioned inside **.

http://ruby-doc.org/core-2.0.0/Module.html#method-i-module_function

Creates module functions for the named methods. These functions may be
called with the module as a receiver, and also become available as
instance methods to classes that mix in the module. Module functions are
copies of the original, and so may be changed independently. The
instance-method versions are made private. *If used with no arguments,
subsequently defined methods become module functions.*

module Mod
  def one
    "This is one"
  end
  module_function :one
end
class Cls
  include Mod
  def call_one
    one
  end
end
Mod.one #=> "This is one"
c = Cls.new
c.call_one #=> "This is one"
module Mod
  def one
    "This is the new one"
  end
end
Mod.one #=> "This is one"
c.call_one #=> "This is the new one"

Please help me to understand what does mean by "If used with no
arguments, subsequently defined methods become module functions."?

Please help me to understand what does mean by "If used with no
arguments, subsequently defined methods become module functions."?

Okay got it now:-

module Party
  module_function
  def foo
    "I am foo"
  end
  def bar
    "I am bar"
  end
end

Party.foo # => "I am foo"
Party.bar # => "I am bar"

That means you can use it as a means of saying "All the methods defined below are module functions":

Module M

  def foo
  end

  module_function

  def bar
  end

  def baz
  end

end

and so you can then call M.bar and M.baz, but not M.foo.

This is identical to:

Module M
  def foo;end
  def bar;end
  def baz;end
  module_function :bar, :baz
end

It is *also* identical to:

Module M
  def foo;end
  def self.bar; end
  def self.baz; end
end