Sha256: 69ac5fa092ad63ef4a2e8778602d8e3e37fceab92f7c0593f6db641595cefcdd

Contents?: true

Size: 642 Bytes

Versions: 27

Compression:

Stored size: 642 Bytes

Contents

module Knapsack
  class Logger
    attr_accessor :level

    DEBUG = 0
    INFO = 1
    WARN = 2

    UnknownLogLevel = Class.new(StandardError)

    def log(level, text=nil)
      level_method =
        case level
        when DEBUG then :debug
        when INFO then :info
        when WARN then :warn
        else raise UnknownLogLevel
        end

      public_send(level_method, text)
    end

    def debug(text=nil)
      return if level != DEBUG
      puts text
    end

    def info(text=nil)
      return if level > INFO
      puts text
    end

    def warn(text=nil)
      return if level > WARN
      puts text
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
knapsack-4.0.0 lib/knapsack/logger.rb
knapsack-3.1.0 lib/knapsack/logger.rb
knapsack-3.0.0 lib/knapsack/logger.rb
knapsack-2.0.0 lib/knapsack/logger.rb
knapsack-1.22.0 lib/knapsack/logger.rb
knapsack-1.21.1 lib/knapsack/logger.rb
knapsack-1.21.0 lib/knapsack/logger.rb
knapsack-1.20.0 lib/knapsack/logger.rb
knapsack-1.19.0 lib/knapsack/logger.rb
knapsack-1.18.0 lib/knapsack/logger.rb
knapsack-1.17.2 lib/knapsack/logger.rb
knapsack-1.17.1 lib/knapsack/logger.rb
knapsack-1.17.0 lib/knapsack/logger.rb
knapsack-1.16.0 lib/knapsack/logger.rb
knapsack-1.15.0 lib/knapsack/logger.rb
knapsack-1.14.1 lib/knapsack/logger.rb
knapsack-1.14.0 lib/knapsack/logger.rb
knapsack-1.13.3 lib/knapsack/logger.rb
knapsack-1.13.2 lib/knapsack/logger.rb
knapsack-1.13.1 lib/knapsack/logger.rb