Sha256: d8034b1f93a6a1f0f418463633c0a319e735e28abcb64b997f69a2664676a712

Contents?: true

Size: 1.07 KB

Versions: 5

Compression:

Stored size: 1.07 KB

Contents

module Testable
  class Deprecator
    class << self
      def deprecate(current, upcoming = nil, known_version = nil)
        if upcoming
          warn(
            "#{current} is being deprecated and should no longer be used. \
            Use #{upcoming} instead."
          )
        else
          warn("#{current} is being deprecated and should no longer be used.")
        end

        warn(
          "#{current} will be removed in Testable #{known_version}."
        ) if known_version
      end

      def soft_deprecate(current, reason, known_version, upcoming = nil)
        debug("The #{current} method is changing and is now configurable.")
        debug("REASON: #{reason}.")
        debug(
          "Moving forwards into Testable #{known_version}, \
          the default behavior will change."
        )
        debug("It is advised that you change to using #{upcoming}") if upcoming
      end

      private

      def warn(message)
        Testable.logger.warn(message)
      end

      def debug(message)
        Testable.logger.debug(message)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
testable-0.10.0 lib/testable/deprecator.rb
testable-0.9.0 lib/testable/deprecator.rb
testable-0.8.0 lib/testable/deprecator.rb
testable-0.7.0 lib/testable/deprecator.rb
testable-0.6.0 lib/testable/deprecator.rb