    # File lib/ramaze/bin/runner.rb, line 67
          def self.run(argv=ARGV)
            op = OptionParser.new do |opt|
              opt.banner         = Banner
              opt.summary_indent = '  '

              opt.separator "\nCommands:\n  #{commands_info.join("\n  ")}"

              # Show all the common options
              opt.separator "\nOptions:\n"

              # Show the version of Ramaze
              opt.on('-v', '--version', 'Shows the version of Ramaze') do
                puts Ramaze::VERSION
                exit
              end

              opt.on('-h', '--help', 'Shows this help message') do
                puts op
                exit
              end
            end

            op.order!(argv)

            # Show a help message if no command has been specified
            if !argv[0]
              puts op.to_s
              exit
            end

            cmd = argv.delete_at(0).to_sym

            if Commands.key?(cmd)
              cmd = Commands[cmd].new
              cmd.run(argv)
            else
              abort 'The specified command is invalid'
            end
          end