whole_func_string: function(reg, pos, c) {
        var str = this, source;
        if(isDefined(pos)) str = str.slice(0, pos);
        if(isUndefined(c)) c = true;
        source = isRegExp(reg) ? reg.source.replace('$', '') : escapeRegExp(reg);
        return regexp(source + '$', c ? '' : 'i').test(str);
      }
func_code_string: function(reg, pos, c) {
        var str = this, source;
        if(isDefined(pos)) str = str.slice(0, pos);
        if(isUndefined(c)) c = true;
        source = isRegExp(reg) ? reg.source.replace('$', '') : escapeRegExp(reg);
        return regexp(source + '$', c ? '' : 'i').test(str);
      }
func_documentation_string: *
  @method endsWith(<find>, [pos] = length, [case] = true)
  @returns Boolean
  @short Returns true if the string ends with <find>.
  @extra <find> may be either a string or regex. Search ends at [pos], which defaults to the entire string. Case sensitive if [case] is true.
  @example
  
  'jumpy'.endsWith('py')            -> true
  'jumpy'.endsWith(/[q-z]/)         -> true
  'jumpy'.endsWith('MPY')           -> false
  'jumpy'.endsWith('mp', 4)         -> false
  'jumpy'.endsWith('MPY', 5, false) -> true
  
  *