Module: Monokera::SDK::ClientDeprecation

Defined in:
lib/monokera/sdk/client_deprecation.rb

Class Method Summary collapse

Class Method Details

.deprecated_initialize!(klass) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/monokera/sdk/client_deprecation.rb', line 18

def self.deprecated_initialize!(klass)
  klass.send(:define_method, :initialize) do |*args|
    super(*args)

    configuration.logger.warn "[DEPRECATED] `#{klass.name}` is deprecated, please use a versioned client"
  end
end

.deprecated_method!(method_name, klass) ⇒ Object



26
27
28
29
30
31
32
33
34
# File 'lib/monokera/sdk/client_deprecation.rb', line 26

def self.deprecated_method!(method_name, klass)
  klass.send :alias_method, "deprecated_#{method_name}", method_name

  klass.send :define_method, method_name do |*arguments, &block|
    configuration.logger.warn "[DEPRECATED] Using `#{method_name}` from `#{klass.name}`. Please migrate to a versioned client"

    send "deprecated_#{method_name}", *arguments, &block
  end
end