# 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