Sha256: fe7991045f55771244eca55165a9e06afba3cc3b3e69331183d819bb56b0ca26

Contents?: true

Size: 1018 Bytes

Versions: 44

Compression:

Stored size: 1018 Bytes

Contents

require 'highline'

module Opsicle
  module Output
    def self.terminal
      HighLine.color_scheme = color_scheme
      @terminal ||= HighLine.new
    end

    def self.color_scheme
      @color_scheme ||= HighLine::ColorScheme.new(
          :normal => [],
          :error => [:bold, :red],
          :warning => [:bold, :yellow],
          :verbose => [:bold, :magenta],
          :debug => [:bold, :cyan],
          :success => [:bold, :green],
          :addition => [:bold, :green],
          :removal => [:bold, :red],
          :modification => [:bold, :yellow],
      )
    end

    def self.say(msg, log_style=:normal)
      terminal.say format(msg, log_style)
    end

    def self.format(msg, log_style=:normal)
      if $color
        terminal.color(msg.to_s, log_style)
      else
        msg
      end
    end

    def self.say_verbose(msg)
      terminal.say "<%= color('#{msg}', 'verbose') %>" if $verbose
    end

    def self.ask(*args, &block)
      terminal.ask(*args, &block)
    end
  end
end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
opsicle-2.15.0 lib/opsicle/output.rb
opsicle-2.14.2 lib/opsicle/output.rb
opsicle-2.14.1 lib/opsicle/output.rb
opsicle-2.14.0 lib/opsicle/output.rb
opsicle-2.13.1 lib/opsicle/output.rb
opsicle-2.13.0 lib/opsicle/output.rb
opsicle-2.12.5 lib/opsicle/output.rb
opsicle-2.12.3 lib/opsicle/output.rb
opsicle-2.12.2 lib/opsicle/output.rb
opsicle-2.12.1 lib/opsicle/output.rb
opsicle-2.12.0 lib/opsicle/output.rb
opsicle-2.11.3 lib/opsicle/output.rb
opsicle-2.11.1 lib/opsicle/output.rb
opsicle-2.11.0 lib/opsicle/output.rb
opsicle-2.10.1 lib/opsicle/output.rb
opsicle-2.10.0 lib/opsicle/output.rb
opsicle-2.9.6 lib/opsicle/output.rb
opsicle-2.9.4 lib/opsicle/output.rb
opsicle-2.9.3 lib/opsicle/output.rb
opsicle-2.9.2 lib/opsicle/output.rb