def call(a, b = nil, c = nil)
      if block
        self.send method, *[a, b, c].compact + args, &block
      else
        self.send method, *[a, b, c].compact + args
      end
    end
def call(a, b = nil, c = nil)
      if block
        self.send method, *[a, b, c].compact + args, &block
      else
        self.send method, *[a, b, c].compact + args
      end
    end
def call ( a , b = nil , c = nil ) if block self . send method , [ a , b , c ] . compact + args , block else self . send method , [ a , b , c ] . compact + args end end
order of params to be called can differ, so naming is ambiguous
order of params to be called can differ so naming is ambiguous