Sha256: c4882ada19413f68b41eec02cb5275eaa017eee1598ce2824c7599c39e716913

Contents?: true

Size: 1.22 KB

Versions: 11

Compression:

Stored size: 1.22 KB

Contents

# 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
        set :environment, opts[:environment].to_sym if opts[:environment]

        ::Middleman::Logger.singleton(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

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
middleman-core-3.3.10 lib/middleman-core/cli/console.rb
middleman-core-3.3.9 lib/middleman-core/cli/console.rb
middleman-core-3.3.8 lib/middleman-core/cli/console.rb
middleman-core-3.3.7 lib/middleman-core/cli/console.rb
middleman-core-3.3.6 lib/middleman-core/cli/console.rb
middleman-core-3.3.5 lib/middleman-core/cli/console.rb
middleman-core-cj-3.3.6 lib/middleman-core/cli/console.rb
middleman-core-cj-3.3.5 lib/middleman-core/cli/console.rb
middleman-core-cj-3.3.4 lib/middleman-core/cli/console.rb
middleman-core-3.3.4 lib/middleman-core/cli/console.rb
middleman-core-3.3.3 lib/middleman-core/cli/console.rb