Sha256: 31c5b9eba690bd706d3f83a7ca483dba9510542d2d1e28c376930622438c3add

Contents?: true

Size: 1.47 KB

Versions: 2

Compression:

Stored size: 1.47 KB

Contents

require 'logger'

module Monad
  class Logger < Logger
    # Public: Print a monad message to stdout
    #
    # topic - the topic of the message, e.g. "Configuration file", "Deprecation", etc.
    # message - the message detail
    #
    # Returns nothing
    def self.info(topic, message)
      $stdout.puts message(topic, message)
    end

    # Public: Print a monad message to stderr
    #
    # topic - the topic of the message, e.g. "Configuration file", "Deprecation", etc.
    # message - the message detail
    #
    # Returns nothing
    def self.warn(topic, message)
      $stderr.puts message(topic, message).yellow
    end

    # Public: Print a monad error message to stderr
    #
    # topic - the topic of the message, e.g. "Configuration file", "Deprecation", etc.
    # message - the message detail
    #
    # Returns nothing
    def self.error(topic, message)
      $stderr.puts message(topic, message).red
    end

    # Public: Build a Monad topic method
    #
    # topic - the topic of the message, e.g. "Configuration file", "Deprecation", etc.
    # message - the message detail
    #
    # Returns the formatted message
    def self.message(topic, message)
       formatted_topic(topic) + message.gsub(/\s+/, ' ')
    end

    # Public: Format the topic
    #
    # topic - the topic of the message, e.g. "Configuration file", "Deprecation", etc.
    #
    # Returns the formatted topic statement
    def self.formatted_topic(topic)
      "#{topic} ".rjust(20)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
monad-0.0.2 lib/monad/logger.rb
monad-0.0.1 lib/monad/logger.rb