module ExecutionDeadline::MethodProxy

Public Class Methods

construct_for_class(klass) click to toggle source
# File lib/execution_deadline/method_proxy.rb, line 22
def self.construct_for_class(klass)
  Module.new do
    extend Deadliner
  end.tap { |m| m._execution_deadline_built_for = klass }
end
find_for_class(klass) click to toggle source
# File lib/execution_deadline/method_proxy.rb, line 9
def self.find_for_class(klass)
  klass.ancestors.detect do |a|
    a.is_a?(Deadliner) &&
      a._execution_deadline_built_for == klass
  end
end
for_class(klass) click to toggle source
# File lib/execution_deadline/method_proxy.rb, line 5
def self.for_class(klass)
  find_for_class(klass) || install_on_class(klass)
end
install_on_class(klass) click to toggle source
# File lib/execution_deadline/method_proxy.rb, line 16
def self.install_on_class(klass)
  construct_for_class(klass).tap do |m|
    klass.prepend(m)
  end
end