Module: Mailgun::ApiVersionChecker::ClassMethods

Defined in:
lib/mailgun/helpers/api_version_checker.rb

Instance Method Summary collapse

Instance Method Details

#enforces_api_version(version, *method_names) ⇒ Object



19
20
21
22
23
24
25
26
27
28
# File 'lib/mailgun/helpers/api_version_checker.rb', line 19

def enforces_api_version(version, *method_names)
  method_names.each do |method_name|
    original_method = instance_method(method_name)

    define_method(method_name) do |*args, &block|
      require_api_version(version)
      original_method.bind(self).call(*args, &block)
    end
  end
end

#requires_api_version(version, *method_names) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/mailgun/helpers/api_version_checker.rb', line 8

def requires_api_version(version, *method_names)
  method_names.each do |method_name|
    original_method = instance_method(method_name)

    define_method(method_name) do |*args, &block|
      warn_unless_api_version(version)
      original_method.bind(self).call(*args, &block)
    end
  end
end