Sha256: 26dbd0cc0b50a1d3767ac1dad4bab3167091a57b33f83c93037ff1d572525baa

Contents?: true

Size: 866 Bytes

Versions: 6

Compression:

Stored size: 866 Bytes

Contents

module Fog
  class Logger

    @channels = {
      :warning => ::STDOUT
    }

    def self.[](channel)
      @channels[channel]
    end

    def self.[]=(channel, value)
      @channels[channel] = value
    end

    def self.debug(message)
      self.write(:debug, "[light_black][DEBUG] #{message}[/]")
    end

    def self.warning(message)
      self.write(:warning, "[yellow][WARNING] #{message}[/]")
    end

    def self.write(key, value)
      if channel = @channels[key]
        value.gsub(Formatador::INDENT_REGEX, '')
        message = if channel.tty?
          value.gsub(Formatador::PARSE_REGEX) { "\e[#{Formatador::STYLES[$1.to_sym]}m" }.gsub(Formatador::INDENT_REGEX, '')
        else
          value.gsub(Formatador::PARSE_REGEX, '').gsub(Formatador::INDENT_REGEX, '')
        end
        channel.write(message)
      end
      nil
    end

  end
end

Version data entries

6 entries across 6 versions & 3 rubygems

Version Path
brightbox-cli-0.16.0 lib/brightbox-cli/vendor/fog/lib/fog/core/logger.rb
brightbox-cli-0.15.0 lib/brightbox-cli/vendor/fog/lib/fog/core/logger.rb
tag-fog-1.0.1 lib/fog/core/logger.rb
brightbox-cli-0.14.1 lib/brightbox-cli/vendor/fog/lib/fog/core/logger.rb
brightbox-cli-0.14.0 lib/brightbox-cli/vendor/fog/lib/fog/core/logger.rb
fog-1.0.0 lib/fog/core/logger.rb