lib/rhapsody.js
function Rhapsody(options) {
	//Expose object as global
	//Should fix it latter
	global.Rhapsody = this;

	this.options = options;
	this.root = options.root;

	//Libs used internally that the programmer can access
	this.libs = {
		express: require('express'),
		jsmin: require('jsmin').jsmin,
		lodash: require('lodash'),
		wolverine: require('wolverine')
	};

	this.config = require(path.join(this.root, '/app/config/config'));

	//Get the general environment settings
	this.config = this.libs.lodash.merge(this.config, require(path.join(this.root, '/app/config/envs/all')));

	//Overwrite it with the defined environment settings
	this.config = this.libs.lodash.merge(this.config, require(path.join(this.root, '/app/config/envs/' + this.config.environment)));

	//Then extends it with the other settings
	var loadConfig = require('./rhapsody/app/config');
	this.config = this.libs.lodash.merge(this.config, loadConfig(options));

	return this;

}
function Rhapsody(options) {
	//Expose object as global
	//Should fix it latter
	global.Rhapsody = this;

	this.options = options;
	this.root = options.root;

	//Libs used internally that the programmer can access
	this.libs = {
		express: require('express'),
		jsmin: require('jsmin').jsmin,
		lodash: require('lodash'),
		wolverine: require('wolverine')
	};

	this.config = require(path.join(this.root, '/app/config/config'));

	//Get the general environment settings
	this.config = this.libs.lodash.merge(this.config, require(path.join(this.root, '/app/config/envs/all')));

	//Overwrite it with the defined environment settings
	this.config = this.libs.lodash.merge(this.config, require(path.join(this.root, '/app/config/envs/' + this.config.environment)));

	//Then extends it with the other settings
	var loadConfig = require('./rhapsody/app/config');
	this.config = this.libs.lodash.merge(this.config, loadConfig(options));

	return this;

}
function Rhapsody ( options ) { //Expose object as global //Should fix it latter global . Rhapsody = this ; this . options = options ; this . root = options . root ; //Libs used internally that the programmer can access this . libs = { express : require ( 'express' ) , jsmin : require ( 'jsmin' ) . jsmin , lodash : require ( 'lodash' ) , wolverine : require ( 'wolverine' ) } ; this . config = require ( path . join ( this . root , '/app/config/config' ) ) ; //Get the general environment settings this . config = this . libs . lodash . merge ( this . config , require ( path . join ( this . root , '/app/config/envs/all' ) ) ) ; //Overwrite it with the defined environment settings this . config = this . libs . lodash . merge ( this . config , require ( path . join ( this . root , '/app/config/envs/' + this . config . environment ) ) ) ; //Then extends it with the other settings var loadConfig = require ( './rhapsody/app/config' ) ; this . config = this . libs . lodash . merge ( this . config , loadConfig ( options ) ) ; return this ; }
RhapsodyJS app class
@param {Object} options Options
@constructor
RhapsodyJS app class