Kenspeckled/oomph

View on GitHub
lib/oomph.js

Summary

Maintainability
A
1 hr
Test Coverage
// Generated by CoffeeScript 1.9.3
(function() {
  var oomph, publishSubscribe, utilities, validate;

  utilities = require('./utilities');

  publishSubscribe = require('./publishSubscribe');

  validate = require('./validate');

  oomph = {
    utilities: utilities,
    publishSubscribe: publishSubscribe,
    validate: validate,
    createClass: function(name, classAttributes) {
      var _class;
      _class = function(props) {
        var property;
        for (property in props) {
          this[property] = props[property];
        }
        this.initializedVal = this.initialize.apply(this, arguments);
      };
      _class.className = name;
      _class.classAttributes = classAttributes;
      if (!_class.prototype.initialize) {
        _class.prototype.initialize = function() {};
      }
      if (this.adaptor) {
        _class = this.adaptor.connectAdaptor(_class);
      }
      _class.extend = function(_extendableClass) {
        if (_extendableClass) {
          Object.keys(_extendableClass).forEach((function(_this) {
            return function(key) {
              return _class[key] = _extendableClass[key];
            };
          })(this));
          if (_extendableClass.prototype) {
            Object.keys(_extendableClass.prototype).forEach((function(_this) {
              return function(key) {
                return _class.prototype[key] = _extendableClass.prototype[key];
              };
            })(this));
          }
        }
        return _class;
      };
      return _class;
    }
  };

  module.exports = oomph;

}).call(this);