# module Bundler::Thor::Shell

### Constants

SHELL_DELEGATED_METHODS

### Attributes

shell[W]

### Public Class Methods

new(args = [], options = {}, config = {}) click to toggle source

Add shell to initialize config values.

#### Configuration¶ ↑

shell<Object>

  An instance of the shell to be used.

#### Examples¶ ↑

    class MyScript < Bundler::Thor
      argument :first, :type => :numeric
    end

    MyScript.new [1.0], { :foo => :bar }, :shell => Bundler::Thor::Shell::Basic.new

Calls superclass method

    # File lib/bundler/vendor/thor/lib/thor/shell.rb, line 44
    def initialize(args = [], options = {}, config = {})
      super
      self.shell = config[:shell]
      shell.base ||= self if shell.respond_to?(:base)
    end

### Public Instance Methods

shell() click to toggle source

Holds the shell for the given Bundler::Thor instance. If no shell is given, it gets a default shell from `Bundler::Thor::Base.shell`.

    # File lib/bundler/vendor/thor/lib/thor/shell.rb, line 52
    def shell
      @shell ||= Bundler::Thor::Base.shell.new
    end

with_padding() { || ... } click to toggle source

Yields the given block with padding.

    # File lib/bundler/vendor/thor/lib/thor/shell.rb, line 66
    def with_padding
      shell.padding += 1
      yield
    ensure
      shell.padding -= 1
    end