Module: BetterAuth::Deprecate

Defined in:
lib/better_auth/deprecate.rb

Class Method Summary collapse

Class Method Details

.warn_once(message, logger) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/better_auth/deprecate.rb', line 18

def warn_once(message, logger)
  if logger.respond_to?(:call)
    logger.call(message)
  elsif logger.respond_to?(:warn)
    logger.warn(message)
  else
    warn(message)
  end
end

.wrap(message, logger: nil, &block) ⇒ Object



7
8
9
10
11
12
13
14
15
16
# File 'lib/better_auth/deprecate.rb', line 7

def wrap(message, logger: nil, &block)
  warned = false
  proc do |*args, **kwargs|
    unless warned
      warn_once("[Deprecation] #{message}", logger)
      warned = true
    end
    kwargs.empty? ? block.call(*args) : block.call(*args, **kwargs)
  end
end