Sha256: 5c03c3967a37da2019b35a79f809ab1640ab830b8e5e92dee9c42256cfa5e25c

Contents?: true

Size: 1.1 KB

Versions: 10

Compression:

Stored size: 1.1 KB

Contents

require 'logger'

module RubyDep
  def self.logger
    @logger ||= stderr_logger
  end

  def self.logger=(new_logger)
    @logger = new_logger.nil? ? NullLogger.new : new_logger
  end

  def self.stderr_logger
    ::Logger.new(STDERR).tap do |logger|
      logger.formatter = proc { |_,_,_,msg| "#{msg}\n" }
    end
  end

  # Shamelessly stolen from https://github.com/karafka/null-logger
  class NullLogger
    LOG_LEVELS = %w(unknown fatal error warn info debug).freeze

    def respond_to_missing?(method_name, include_private = false)
      LOG_LEVELS.include?(method_name.to_s) || super
    end

    def method_missing(method_name, *args, &block)
      LOG_LEVELS.include?(method_name.to_s) ? nil : super
    end
  end

  # TODO: not used, but kept for the sake of SemVer
  # TODO: remove in next major version
  class Logger
    def initialize(device, prefix)
      @device = device
      @prefix = prefix
      ::RubyDep.logger.warn("The RubyDep::Logger class is deprecated")
    end

    def warning(msg)
      @device.puts @prefix + msg
    end

    def notice(msg)
      @device.puts @prefix + msg
    end
  end
end

Version data entries

10 entries across 10 versions & 6 rubygems

Version Path
chatops-rpc-0.0.2 fixtures/chatops-controller-example/vendor/bundle/ruby/2.5.0/gems/ruby_dep-1.5.0/lib/ruby_dep/logger.rb
chatops-rpc-0.0.1 fixtures/chatops-controller-example/vendor/bundle/ruby/2.5.0/gems/ruby_dep-1.5.0/lib/ruby_dep/logger.rb
alimentos-alu0100945645-0.1.0 vendor/bundle/ruby/2.3.0/gems/ruby_dep-1.5.0/lib/ruby_dep/logger.rb
alimentos-alu0100945645-1.0.0 vendor/bundle/ruby/2.3.0/gems/ruby_dep-1.5.0/lib/ruby_dep/logger.rb
comiditaULL-0.1.1 vendor/bundle/ruby/2.3.0/gems/ruby_dep-1.5.0/lib/ruby_dep/logger.rb
comidita_ull-0.1.1 vendor/bundle/ruby/2.3.0/gems/ruby_dep-1.5.0/lib/ruby_dep/logger.rb
comidita_ull-0.1.0 vendor/bundle/ruby/2.3.0/gems/ruby_dep-1.5.0/lib/ruby_dep/logger.rb
gameboard-3.1.0 vendor/bundle/ruby/2.3.0/gems/ruby_dep-1.5.0/lib/ruby_dep/logger.rb
gameboard-3.0.0 vendor/bundle/ruby/2.3.0/gems/ruby_dep-1.5.0/lib/ruby_dep/logger.rb
ruby_dep-1.5.0 lib/ruby_dep/logger.rb