Source: lib/fields/filepath.js

/*jshint laxcomma: true, smarttabs: true, node: true*/
'use strict';
/**
 * A field that accepts and returns a simple path to a file
 * @module tastypie/fields/filepath
 * @author Eric Satterwhite
 * @since 0.5.0
 * requires url-join
 * @requires tastypie/lib/class
 * @requires tastypie/lib/fields/api
 */

var os       = require( 'os' )
  , path     = require( 'path' )
  , urljoin  = require( 'url-join' )
  , Class    = require( '../class' )
  , ApiField = require( './api' )
  , FilePathField
  ;

/**
 * @constructor
 * @alias module:tastypie/fields/filepath
 * @extends module:tastypie/fields.ApiField
 * @param {Object} options
 * @param {String} [options.root=os.tempDir()]
 * @param {String} [options.dir]
 */
FilePathField = new Class({
  inherits: ApiField
  ,options:{
      root:os.tmpDir(),
      dir:'uploads'
  }

  , constructor: function( options ){
    this.parent( 'constructor', options );
  }
  , convert: function( value ){
    return urljoin( this.options.dir, path.basename( value ) );
  }
});
module.exports = FilePathField;