Module: Authentasaurus

Defined in:
lib/authentasaurus.rb

Class Method Summary collapse

Class Method Details

.evaluate_method(method, *args, &block) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/authentasaurus.rb', line 2

def self.evaluate_method(method, *args, &block)
  case method
    when Symbol
      object = args.shift
      object.send(method, *args, &block)
    when String
      eval(method, args.first.instance_eval { binding })
    when Proc, Method
      method.call(*args, &block)
    else
      if method == true || method == false
        return method
      else
        raise ArgumentError,
          "Callbacks must be a symbol denoting the method to call, a string to be evaluated, " +
          "a block to be invoked, or a condition."
      end
  end
end