lib/function_inheritance.js
function getClassPathInfo(path) {

		var result = {},
		    namespace,
		    name,
		    temp;

		// See what's there
		temp = Obj.path(Blast.Classes, path);

		// Is there nothing at the current path?
		if (!temp) {
			if (path.indexOf('.') > -1) {

				// Split the path
				temp = path.split('.');

				// The last part is actually the name of the class
				name = temp.pop();

				// The namespace is what's left over
				namespace = temp.join('.');
			} else {
				// There is no real "path", it's just the name
				name = path;

				// So there is no namespace
				namespace = '';
			}
		} else {
			// Is the found function a namespace
			if (temp && temp.is_namespace) {

				// The name of the class is the same as the namespace
				name = temp.name;

				// The namespace path is the entire path
				namespace = path;

				// The full path actually needs the name again
				path = path + '.' + name;
			} else if (temp) {
				// We found a class function

				// The namespace should be on this class
				namespace = temp.namespace || '';

				// The name is the name of the found class
				name = temp.name;
			} else {
				namespace = '';
				name = path;
			}
		}

		result.name = name;
		result.namespace = namespace;
		result.path = path;
		result.class = Obj.path(Blast.Classes, path);
		result.namespace_wrapper = Obj.path(Blast.Classes, namespace);

		if (!namespace && !result.class && typeof Blast.Globals[name] == 'function') {
			result.class = Blast.Globals[name];
		}

		if (!result.namespace_wrapper) {
			result.namespace_wrapper = getNamespace(namespace);
		}

		return result;
	}
function getClassPathInfo(path) {

		var result = {},
		    namespace,
		    name,
		    temp;

		// See what's there
		temp = Obj.path(Blast.Classes, path);

		// Is there nothing at the current path?
		if (!temp) {
			if (path.indexOf('.') > -1) {

				// Split the path
				temp = path.split('.');

				// The last part is actually the name of the class
				name = temp.pop();

				// The namespace is what's left over
				namespace = temp.join('.');
			} else {
				// There is no real "path", it's just the name
				name = path;

				// So there is no namespace
				namespace = '';
			}
		} else {
			// Is the found function a namespace
			if (temp && temp.is_namespace) {

				// The name of the class is the same as the namespace
				name = temp.name;

				// The namespace path is the entire path
				namespace = path;

				// The full path actually needs the name again
				path = path + '.' + name;
			} else if (temp) {
				// We found a class function

				// The namespace should be on this class
				namespace = temp.namespace || '';

				// The name is the name of the found class
				name = temp.name;
			} else {
				namespace = '';
				name = path;
			}
		}

		result.name = name;
		result.namespace = namespace;
		result.path = path;
		result.class = Obj.path(Blast.Classes, path);
		result.namespace_wrapper = Obj.path(Blast.Classes, namespace);

		if (!namespace && !result.class && typeof Blast.Globals[name] == 'function') {
			result.class = Blast.Globals[name];
		}

		if (!result.namespace_wrapper) {
			result.namespace_wrapper = getNamespace(namespace);
		}

		return result;
	}
function getClassPathInfo ( path ) { var result = { } , namespace , name , temp ; // See what's there temp = Obj . path ( Blast . Classes , path ) ; // Is there nothing at the current path? if ( ! temp ) { if ( path . indexOf ( '.' ) > - 1 ) { // Split the path temp = path . split ( '.' ) ; // The last part is actually the name of the class name = temp . pop ( ) ; // The namespace is what's left over namespace = temp . join ( '.' ) ; } else { // There is no real "path", it's just the name name = path ; // So there is no namespace namespace = '' ; } } else { // Is the found function a namespace if ( temp && temp . is_namespace ) { // The name of the class is the same as the namespace name = temp . name ; // The namespace path is the entire path namespace = path ; // The full path actually needs the name again path = path + '.' + name ; } else if ( temp ) { // We found a class function // The namespace should be on this class namespace = temp . namespace || '' ; // The name is the name of the found class name = temp . name ; } else { namespace = '' ; name = path ; } } result . name = name ; result . namespace = namespace ; result . path = path ; result . class = Obj . path ( Blast . Classes , path ) ; result . namespace_wrapper = Obj . path ( Blast . Classes , namespace ) ; if ( ! namespace && ! result . class && typeof Blast . Globals [ name ] == 'function' ) { result . class = Blast . Globals [ name ] ; } if ( ! result . namespace_wrapper ) { result . namespace_wrapper = getNamespace ( namespace ) ; } return result ; }
Get path information

@author   Jelle De Loecker   <jelle@develry.be>
@since    0.5.0
@version  0.5.0

@param    {String}   path

@return   {Object}
Get path information