Merge pull request #775 from bhollis/console
Add an experimental "console" CLI command.
This commit is contained in:
commit
ff971dd327
2 changed files with 47 additions and 0 deletions
|
@ -87,3 +87,4 @@ require "middleman-core/cli/bundler"
|
|||
require "middleman-core/cli/extension"
|
||||
require "middleman-core/cli/server"
|
||||
require "middleman-core/cli/build"
|
||||
require "middleman-core/cli/console"
|
||||
|
|
46
middleman-core/lib/middleman-core/cli/console.rb
Normal file
46
middleman-core/lib/middleman-core/cli/console.rb
Normal file
|
@ -0,0 +1,46 @@
|
|||
# CLI Module
|
||||
module Middleman::Cli
|
||||
|
||||
# A thor task for creating new projects
|
||||
class Console < Thor
|
||||
include Thor::Actions
|
||||
|
||||
check_unknown_options!
|
||||
|
||||
namespace :console
|
||||
|
||||
desc "console [options]", "Start an interactive console in the context of your Middleman application"
|
||||
method_option :environment,
|
||||
:aliases => "-e",
|
||||
:default => ENV['MM_ENV'] || ENV['RACK_ENV'] || 'development',
|
||||
:desc => "The environment Middleman will run under"
|
||||
method_option :verbose,
|
||||
:type => :boolean,
|
||||
:default => false,
|
||||
:desc => 'Print debug messages'
|
||||
def console
|
||||
require "middleman-core"
|
||||
require "irb"
|
||||
|
||||
opts = {
|
||||
:environment => options['environment'],
|
||||
:debug => options['verbose']
|
||||
}
|
||||
|
||||
@app =::Middleman::Application.server.inst do
|
||||
if opts[:environment]
|
||||
set :environment, opts[:environment].to_sym
|
||||
end
|
||||
|
||||
logger(opts[:debug] ? 0 : 1, opts[:instrumenting] || false)
|
||||
end
|
||||
|
||||
# TODO: get file watcher / reload! working in console
|
||||
|
||||
IRB.setup nil
|
||||
IRB.conf[:MAIN_CONTEXT] = IRB::Irb.new.context
|
||||
require 'irb/ext/multi-irb'
|
||||
IRB.irb nil, @app
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue