{:uriI"file:///opt/rubies/2.0.0-p451/lib/ruby/gems/2.0.0/gems/revelry_core-0.1.8.0/app/assets/javascripts/revelry/extensions/mixins.js?type=application/javascript&pipeline=self&id=c7aa3c21af62452a80daa98c7881f195a174b1901ac893b7402fd7523a46c58e:ET:load_pathI"`/opt/rubies/2.0.0-p451/lib/ruby/gems/2.0.0/gems/revelry_core-0.1.8.0/app/assets/javascripts;F: filenameI"}/opt/rubies/2.0.0-p451/lib/ruby/gems/2.0.0/gems/revelry_core-0.1.8.0/app/assets/javascripts/revelry/extensions/mixins.js;T: nameI"revelry/extensions/mixins;T:logical_pathI"&revelry/extensions/mixins.self.js;T:content_typeI"application/javascript;T: sourceI"J /* This optional extension re-enables the React mixin system for plain JS * classes, e.g. ES6 classes, Backbone classes, ES3 module pattern classes * You require the extension like `//= require revelry/extensions/mixins` and * then you just use appComponent and revComponent like normal. * Internally, this works by wrapping the appComponent and revComponent methods * in a function closure which actually does the mixing in, since React punts. */ (function(Rev) { function mixinListForObject(object) { var mixinList = object.mixins || []; mixinList.push(Rev.Mixins.Core); return _.uniq(mixinList); } function forEachMixin(object, fn) { var mixin, i, l; var mixinList = mixinListForObject(object); l = mixinList.length; for(i = 0; i < l; i++) { mixin = mixinList[i]; fn(mixin); } } function decorateComponentMethod(componentMethod) { return function(name, object) { var componentClass = (componentMethod.bind(Rev))(name, object); if(typeof object === 'function') { // ES6 class forEachMixin(object, function(mixin){ Rev.__mixSpecIntoComponent(componentClass, mixin); }); } } } Rev.appComponent = decorateComponentMethod(Rev.appComponent); Rev.registerComponent = decorateComponentMethod(Rev.registerComponent); })(Rev); ;T: metadata{ :dependencieso:Set: @hash{ I"environment-version;TTI"environment-paths;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"file-digest:///opt/rubies/2.0.0-p451/lib/ruby/gems/2.0.0/gems/revelry_core-0.1.8.0/app/assets/javascripts/revelry/extensions/mixins.js;TTI"file-digest:///opt/rubies/2.0.0-p451/lib/ruby/gems/2.0.0/gems/revelry_core-0.1.8.0/app/assets/javascripts/revelry/extensions/mixins;TTI"file-digest:///opt/rubies/2.0.0-p451/lib/ruby/gems/2.0.0/gems/revelry_core-0.1.8.0/app/assets/javascripts/revelry/extensions/mixins/mix_spec_into_component;TTI"file-digest:///opt/rubies/2.0.0-p451/lib/ruby/gems/2.0.0/gems/revelry_core-0.1.8.0/app/assets/javascripts/revelry/extensions/mixins/mix_spec_into_component.js;TT: requiredo;;{I"file:///opt/rubies/2.0.0-p451/lib/ruby/gems/2.0.0/gems/revelry_core-0.1.8.0/app/assets/javascripts/revelry/extensions/mixins/mix_spec_into_component.js?type=application/javascript&pipeline=self;TT: stubbedo;;{: linkso;;{: charsetI" utf-8;F: digest"%3(]^ ";'wz_ol{>: lengthiJ:integrityI"Xni:///sha-256;M8HM5ihdXg2n1NciO-gn98v4d9H9eoa4X9tvbHvTPuo?ct=application/javascript;T:dependencies_digest"%Y7<[SkU[/"w`-9TInJ:idI"Ec7aa3c21af62452a80daa98c7881f195a174b1901ac893b7402fd7523a46c58e;F: mtimel+}SU