#!/usr/bin/env ruby module ModuleMethods public def one puts 'one' end private def two puts 'two' end end class Main def now one two three four puts "Main public methods: #{Main.new.public_methods(false)}" puts "Main private methods: #{Main.new.private_methods(false)}" puts "ModuleMethods public methods: #{ModuleMethods.public_methods(false) - Module.public_methods}" puts "ModuleMethods private methods: #{ModuleMethods.private_methods(false) - Module.private_methods}" end def three puts 'three' end include ModuleMethods def four puts 'four' end end Main.new.now