Sha256: 060fab4594aa4d5fd6e23681289dae67fc4afa4f51d4babc962be12238e712c1

Contents?: true

Size: 1.08 KB

Versions: 2

Compression:

Stored size: 1.08 KB

Contents

(function($) {
  $.extend(Coolerator, {
    Filters : {
      global : [],
      scoped : {},

      get : function get(scope) {
        return $.merge(this.global, this.scoped[scope] || []);
      }
    },

    Filter : function Filter() {
      var config = $.merge(arguments, ['*'])[0];

      if('object' === typeof(config)) {
        var scope  = config.scope || '*';
        var filter = {
          before : (config.before || function no_op() {}),
          after  : (config.after  || function no_op() {})
        };
      }
      else {
        var scope  = config;
        var filter = this;
      }

      if(scope === '*') {
        Coolerator.Filters.global.push(filter);
      }
      else {
        Coolerator.Filters.scoped[scope] = $.merge(Coolerator.Filters.scoped[scope] || [], [filter]);
      }
    }
  });

  $.extend(Coolerator.Filter.prototype, {
    before : function before(fn) {
      if('function' == typeof fn) {
        this.before = fn;
      }
    },

    after : function after(fn) {
      if('function' == typeof fn) {
        this.after = fn;
      }
    }
  });
})(jQuery);

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
coolerator.vision-0.2.1 public/javascripts/vendor/coolerator/coolerator.filter.js
coolerator.vision-0.2.0 public/javascripts/vendor/coolerator/coolerator.filter.js