Sha256: 847ec5587a50ee21b75e3e1e3713934b62c47d7c1aa018bfbde5533daf53c38e

Contents?: true

Size: 962 Bytes

Versions: 6

Compression:

Stored size: 962 Bytes

Contents

module Expedia
  module Utils

    # Utility methods used by Expedia.
    require 'logger'
    require 'forwardable'

    extend Forwardable
    extend self

    def_delegators :logger, :debug, :info, :warn, :error, :fatal, :level, :level=

    # The Expedia logger, an instance of the standard Ruby logger, pointing to STDOUT by default.
    # In Rails projects, you can set this to Rails.logger.
    attr_accessor :logger
    self.logger = Logger.new(STDOUT)
    self.logger.level = Logger::ERROR

    # @private
    DEPRECATION_PREFIX = "EXPEDIA: [Deprecation warning] "

    # Prints a deprecation message.
    # Each individual message will only be printed once to avoid spamming.
    def deprecate(message)
      @posted_deprecations ||= []
      unless @posted_deprecations.include?(message)
        # only include each message once
        Kernel.warn("#{DEPRECATION_PREFIX}#{message}")
        @posted_deprecations << message
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
expedia-0.0.7 lib/expedia/utils.rb
expedia-0.0.6 lib/expedia/utils.rb
expedia-0.0.5 lib/expedia/utils.rb
expedia-0.0.4 lib/expedia/utils.rb
expedia-0.0.3 lib/expedia/utils.rb
expedia-0.0.2 lib/expedia/utils.rb