def evaluate_scope(scope)
      return send(scope) if scope.is_a? Symbol
      return instance_exec(&scope) if scope.is_a? Proc
      fail ArgumentError, 'scope is not a Symbol or a Proc'
    end
def evaluate_scope(scope)
      return send(scope) if scope.is_a? Symbol
      return instance_exec(&scope) if scope.is_a? Proc
      fail ArgumentError, 'scope is not a Symbol or a Proc'
    end
Asserts the validity of the passed scope

 @param [ Object ] scope The +Symbol+ or +Proc+ to evaluate

 @raise [ ArgumentError ] When +scope+ is not a +Symbol+ or +Proc+

 @return [ Object ] The scope of the autoincrement call