Sha256: 8ec896200ceecf922d42c95c2763aab87ba75e6951cb61b34ceb54dc4174587f

Contents?: true

Size: 436 Bytes

Versions: 7

Compression:

Stored size: 436 Bytes

Contents

module Tins
  module Deprecate
    def deprecate(method:, new_method: nil, message: nil)
      message ||= '[DEPRECATION] `%{method}` is deprecated. Please use `%{new_method}` instead.'
      message = message % { method: method, new_method: new_method }
      m = Module.new do
        define_method(method) do |*a, **kw, &b|
          warn message
          super(*a, **kw, &b)
        end
      end
      prepend m
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
tins-1.38.0 lib/tins/deprecate.rb
tins-1.37.1 lib/tins/deprecate.rb
tins-1.37.0 lib/tins/deprecate.rb
tins-1.36.1 lib/tins/deprecate.rb
tins-1.36.0 lib/tins/deprecate.rb
tins-1.35.0 lib/tins/deprecate.rb
tins-1.34.0 lib/tins/deprecate.rb