Sha256: 8e2d9c24ccc7ad302dd5a1e0684a8fd72402795bf7359505a83881313c52f9e8

Contents?: true

Size: 589 Bytes

Versions: 2

Compression:

Stored size: 589 Bytes

Contents

module WarningSigns
  class Deprecation
    attr_accessor :message, :source

    def initialize(message, source:)
      @message = message
      @source = source.to_s.downcase.inquiry
    end

    def handler
      World.instance.handler_for(self)
    end

    def behavior
      handler&.environment&.behavior
    end

    def invoke
      case behavior
      when "raise"
        raise UnhandledDeprecationError, message
      when "log"
        Rails.logger.warn(message)
      when "stderr"
        $stderr.puts(message) # standard:disable Style/StderrPuts
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
warning_signs-0.1.0 lib/warning_signs/deprecation.rb
warning_signs-0.0.1 lib/warning_signs/deprecation.rb