lib/rpush/deprecation.rb

Summary

Maintainability
A
0 mins
Test Coverage
module Rpush
  class Deprecation
    def self.muted
      orig_val = Thread.current[:rpush_mute_deprecations]
      Thread.current[:rpush_mute_deprecations] = true
      yield
    ensure
      Thread.current[:rpush_mute_deprecations] = orig_val
    end

    def self.muted?
      Thread.current[:rpush_mute_deprecations] == true
    end

    def self.warn(msg)
      return if Rpush::Deprecation.muted?
      STDERR.puts "DEPRECATION WARNING: #{msg}"
    end

    def self.warn_with_backtrace(msg)
      return if Rpush::Deprecation.muted?
      trace = "\n\nCALLED FROM:\n" + caller.join("\n")
      warn(msg + trace)
    end
  end
end