middleman/lib/middleman/cli.rb

49 lines
1,023 B
Ruby
Raw Normal View History

require 'thor'
require "thor/group"
# CLI Module
2011-12-21 21:13:28 +01:00
module Middleman::Cli
class Base < Thor
include Thor::Actions
2011-11-10 23:35:27 +01:00
class_option "help",
:type => :boolean,
:default => false,
:aliases => "-h"
def initialize(*)
super
help_check if options[:help]
end
2011-11-10 23:35:27 +01:00
desc "version", "Show version"
2011-08-03 23:43:02 +02:00
def version
require 'middleman/version'
say "Middleman #{Middleman::VERSION}"
end
2011-12-21 21:13:28 +01:00
def method_missing(meth, *args)
meth = meth.to_s
if self.class.map.has_key?(meth)
meth = self.class.map[meth]
end
# initialize_thorfiles(meth)
klass, task = Thor::Util.find_class_and_task_by_namespace("#{meth}:#{meth}")
args.unshift(task) if task
klass.start(args, :shell => self.shell)
end
private
def help_check
help self.class.send(:retrieve_task_name, ARGV.dup)
exit 0
end
end
end
2011-12-21 21:13:28 +01:00
require "middleman/cli/init"
require "middleman/cli/server"
require "middleman/cli/build"