     };
 
     /**
-      Create or update a persistence object. This function is idempotent.
+      Create or update a persistence class. This function is idempotent.
 
       Example payload:
           {

      for (i = 0; i < obj.properties.length; i++) {
        var prop = obj.properties[i],
          action = prop.action || "add",
          dataType = prop.dataType,
          name = prop.name ? prop.name.toSnakeCase() : false,
          args = [schema, table, action],
          actions = ["add", "drop"],
          dataTypes = {
            Object: "json", 
            Array: "json", 
            String: "text", 

      };

      return plv8.execute("select format(" + params.toString(",") + ")", ary)[0].format;
    };

    /**
      Return the current user.

      @return {String}
    */
    FP.getCurrentUser = function () {
      return plv8.execute("select current_user as user;")[0].user;
    };
    
    /**
      Post.

      Example payload:
          {
             "nameSpace": "FP",
             "className": "Contact",
             "value": {
               "guid": "dc9d03f9-a539-4eca-f008-1178f19f56ad",
               "created": "2015-04-26T12:57:57.896Z",
               "createdBy": "admin",
               "updated": "2015-04-26T12:57:57.896Z",
               "updatedBy": "admin",
               "fullName": "John Doe",
               "birthDate": "1970-01-01T00:00:00.000Z",
               "isMarried": true,
               "dependentes": 2
             }
          }

      @return {String}
    */
    FP.post = function (obj) {
      var schema = (obj.nameSpace || 'fp').toSnakeCase(),
        table = obj.className ? obj.className.toSnakeCase() : false,
        keys = Object.keys(obj.value),
        args = [schema, table],
        tokens = [],
        params = [],
        values = [],
        sql,
        i;

      for (i = 0; i < keys.length; i++) {
        args.push(keys[i].toSnakeCase());
        tokens.push("%I");
        params.push("$" + (i + 1));
        values.push(obj.value[keys[i]]);
      }

      sql = FP.formatSql("insert into %I.%I (" + tokens.toString(",") + ") values (" + params.toString(",") + ");", args);
      plv8.elog(NOTICE, sql);
      plv8.execute(sql, values);
      
      return true;
    };   

    plv8._init = true;

