Sha256: 9a085160827567b4c9104c5eb4edc971912511be18a87feca973dc2f9b172910

Contents?: true

Size: 1.07 KB

Versions: 15

Compression:

Stored size: 1.07 KB

Contents

module SSHKit

  class Configuration

    attr_accessor :umask, :output_verbosity
    attr_writer :output, :backend, :default_env, :command_map

    def output
      @output ||= formatter(:pretty)
    end

    def default_env
      @default_env ||= {}
    end

    def backend
      @backend ||= SSHKit::Backend::Netssh
    end

    def output_verbosity
      @output_verbosity ||= logger(:info)
    end

    def output_verbosity=(verbosity)
      @output_verbosity = logger(verbosity)
    end

    def format=(format)
      self.output = formatter(format)
    end

    def command_map
      @command_map ||= begin
        Hash.new do |hash, command|
          if %w{if test time}.include? command.to_s
            hash[command] = command.to_s
          else
            hash[command] = "/usr/bin/env #{command}"
          end
        end
      end
    end

    private

    def logger(verbosity)
      verbosity.is_a?(Integer) ? verbosity : Logger.const_get(verbosity.upcase)
    end

    def formatter(format)
      SSHKit::Formatter.const_get(format.capitalize).new($stdout)
    end

  end

end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
sshkit-1.1.0 lib/sshkit/configuration.rb
sshkit-1.0.0 lib/sshkit/configuration.rb
sshkit-0.0.34 lib/sshkit/configuration.rb
sshkit-0.0.33 lib/sshkit/configuration.rb
sshkit-0.0.32 lib/sshkit/configuration.rb
sshkit-0.0.31 lib/sshkit/configuration.rb
sshkit-0.0.29 lib/sshkit/configuration.rb
sshkit-0.0.28 lib/sshkit/configuration.rb
sshkit-0.0.27 lib/sshkit/configuration.rb
sshkit-0.0.26 lib/sshkit/configuration.rb
sshkit-0.0.25 lib/sshkit/configuration.rb
sshkit-0.0.24 lib/sshkit/configuration.rb
sshkit-0.0.23 lib/sshkit/configuration.rb
sshkit-0.0.22 lib/sshkit/configuration.rb
sshkit-0.0.21 lib/sshkit/configuration.rb