kojac 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +7 -0
  3. data/Gemfile +17 -0
  4. data/Gemfile.lock +158 -0
  5. data/MIT-LICENSE +20 -0
  6. data/README.md +69 -0
  7. data/Rakefile +27 -0
  8. data/app/assets/javascripts/can_extensions.js +45 -0
  9. data/app/assets/javascripts/kojac.js +1230 -0
  10. data/app/assets/javascripts/kojac_canjs.js +191 -0
  11. data/app/assets/javascripts/kojac_ember.js +463 -0
  12. data/app/controllers/kojac_controller.rb +70 -0
  13. data/app/serializers/default_kojac_serializer.rb +10 -0
  14. data/diagram.odg +0 -0
  15. data/kojac.gemspec +36 -0
  16. data/lib/kojac/app_serialize.rb +29 -0
  17. data/lib/kojac/kojac_rails.rb +432 -0
  18. data/lib/kojac/ring_strong_parameters.rb +195 -0
  19. data/lib/kojac/version.rb +3 -0
  20. data/lib/kojac.rb +8 -0
  21. data/lib/tasks/kojac_tasks.rake +4 -0
  22. data/notes.txt +48 -0
  23. data/spec/.DS_Store +0 -0
  24. data/spec/can_cache_spec.js +87 -0
  25. data/spec/can_factory_spec.js +144 -0
  26. data/spec/can_model_spec.js +127 -0
  27. data/spec/demo/README.rdoc +261 -0
  28. data/spec/demo/Rakefile +7 -0
  29. data/spec/demo/app/assets/javascripts/application.js +15 -0
  30. data/spec/demo/app/assets/stylesheets/application.css +13 -0
  31. data/spec/demo/app/controllers/application_controller.rb +3 -0
  32. data/spec/demo/app/helpers/application_helper.rb +2 -0
  33. data/spec/demo/app/mailers/.gitkeep +0 -0
  34. data/spec/demo/app/models/.gitkeep +0 -0
  35. data/spec/demo/app/views/layouts/application.html.erb +14 -0
  36. data/spec/demo/config/application.rb +65 -0
  37. data/spec/demo/config/boot.rb +10 -0
  38. data/spec/demo/config/database.yml +25 -0
  39. data/spec/demo/config/environment.rb +5 -0
  40. data/spec/demo/config/environments/development.rb +37 -0
  41. data/spec/demo/config/environments/production.rb +67 -0
  42. data/spec/demo/config/environments/test.rb +37 -0
  43. data/spec/demo/config/initializers/backtrace_silencers.rb +7 -0
  44. data/spec/demo/config/initializers/inflections.rb +15 -0
  45. data/spec/demo/config/initializers/mime_types.rb +5 -0
  46. data/spec/demo/config/initializers/secret_token.rb +7 -0
  47. data/spec/demo/config/initializers/session_store.rb +8 -0
  48. data/spec/demo/config/initializers/wrap_parameters.rb +14 -0
  49. data/spec/demo/config/locales/en.yml +5 -0
  50. data/spec/demo/config/routes.rb +58 -0
  51. data/spec/demo/config.ru +4 -0
  52. data/spec/demo/lib/assets/.gitkeep +0 -0
  53. data/spec/demo/log/.gitkeep +0 -0
  54. data/spec/demo/public/404.html +26 -0
  55. data/spec/demo/public/422.html +26 -0
  56. data/spec/demo/public/500.html +25 -0
  57. data/spec/demo/public/favicon.ico +0 -0
  58. data/spec/demo/script/rails +6 -0
  59. data/spec/ember_factory_spec.js +157 -0
  60. data/spec/ember_model_spec.js +179 -0
  61. data/spec/external/.DS_Store +0 -0
  62. data/spec/external/ember/.DS_Store +0 -0
  63. data/spec/external/ember/ember-1.0.0-rc.6.js +30970 -0
  64. data/spec/external/ember/handlebars-1.0.0-rc.4.js +2239 -0
  65. data/spec/external/jasmine/MIT.LICENSE +20 -0
  66. data/spec/external/jasmine/jasmine-html.js +616 -0
  67. data/spec/external/jasmine/jasmine.css +81 -0
  68. data/spec/external/jasmine/jasmine.js +2529 -0
  69. data/spec/external/jasmine.async.js +51 -0
  70. data/spec/external/jquery/jquery-1.7.2.js +9404 -0
  71. data/spec/external/jquery/jquery-1.7.2.min.js +4 -0
  72. data/spec/external/jquery/jquery-1.9.1.js +9597 -0
  73. data/spec/external/json2.js +480 -0
  74. data/spec/external/steal/steal-121115.js +2747 -0
  75. data/spec/external/steal/steal-3.2.3.js +2098 -0
  76. data/spec/external/steal/steal-3.2.3.min.js +27 -0
  77. data/spec/external/steal/steal.js +2466 -0
  78. data/spec/external/steal/steal.min.js +32 -0
  79. data/spec/external/steal/stealconfig.js +19 -0
  80. data/spec/external/underscore.js +1223 -0
  81. data/spec/external/underscore_plus.js +261 -0
  82. data/spec/external.zip +0 -0
  83. data/spec/handler_stack_spec.js +143 -0
  84. data/spec/helpers/SpecHelper.js +10 -0
  85. data/spec/kojac_caching_spec.js +105 -0
  86. data/spec/kojac_mock_spec.js +230 -0
  87. data/spec/kojac_model_spec.js +126 -0
  88. data/spec/kojac_object_spec.js +171 -0
  89. data/spec/kojac_operations_spec.js +41 -0
  90. data/spec/mockjson/order_item.js +37 -0
  91. data/spec/mockjson/order_item__49.js +15 -0
  92. data/spec/mockjson/order_item__50.js +15 -0
  93. data/spec/mockjson/order_item__51.js +15 -0
  94. data/spec/mockjson/product.js +82 -0
  95. data/spec/mockjson/product__3.js +22 -0
  96. data/spec/model_ring_spec.rb +52 -0
  97. data/spec/operation_include_spec.js +77 -0
  98. data/spec/run.html +81 -0
  99. data/spec/spec.js +2 -0
  100. data/spec/support/jasmine.yml +86 -0
  101. metadata +380 -0
@@ -0,0 +1,32 @@
1
+ (function(g,ba){function w(a,b,c){return c?function(){return a.apply(this,b.apply(this,arguments))}:function(){b.apply(this,arguments);return a.apply(this,arguments)}}function v(a,b,c){return c?function(){return b.apply(this,[a.apply(this,arguments)].concat(r(arguments)))}:function(){var c=a.apply(this,arguments);b.apply(this,arguments);return c}}function d(){var a=r(arguments);a.length&&(q.push.apply(q,a),d.after(a));return d}function Q(a,b,c,e){s[b.shift()].require(a,function(){b.length?Q(a,b,c,
2
+ e):c.apply(this,arguments)},e)}var k=g.document,R=k&&k.documentElement,i=function(a,b){var c,e;if("number"==typeof a.length){c=0;for(e=a.length;c<e;c++)b.call(a[c],c,a[c],a)}else for(c in a)b.call(a[c],c,a[c],a);return a},x=function(a){return"string"==typeof a},y=function(a){return"function"==typeof a},G=function(){},ca=/\/$/,H=function(){var a=k.createElement("script");a.type="text/javascript";return a},z=function(){var a=k.getElementsByTagName("head")[0];a||(a=k.createElement("head"),R.insertBefore(a,
3
+ R.firstChild));z=function(){return a};return a},l=function(a,b){b&&i(b,function(c){a[c]=b[c]});return a},r=function(a,b){var c=[];i(a,function(a,d){c.push(b?x(b)?d[b]:b.call(d,d):d)});return c},p;if(p=k)p=H(),p.onerror=G,p=y(p.onerror)||"onerror"in p;var S=p,A=!1;k&&H();p=G;var C="object"==typeof g.steal?g.steal:{},I=function(a){C.suffix&&(a=-1<(a+"").indexOf("?")?a+"&"+C.suffix:a+"?"+C.suffix);return a},m=function(a){if(!(this instanceof m))return new m;this.doneFuncs=[];this.failFuncs=[];this.resultArgs=
4
+ null;this.status="";a&&a.call(this,this)};m.when=function(){var a=r(arguments);if(2>a.length){var b=a[0];return b&&y(b.isResolved)&&y(b.isRejected)?b:m().resolve(b)}var c=m(),e=0,d=[];i(a,function(b,f){f.done(function(){d[b]=2>arguments.length?arguments[0]:arguments;++e==a.length&&c.resolve.apply(c,d)}).fail(function(){c.reject(arguments)})});return c};var n=function(a,b){return function(c){var e=this.resultArgs=1<arguments.length?arguments[1]:[];return this.exec(c,this[a],e,b)}},T=function(a,b){return function(){var c=
5
+ this;i(arguments,function(e,d,f){d&&(d.constructor===Array?f.callee.apply(c,d):(c.status===b&&d.apply(this,c.resultArgs||[]),c[a].push(d)))});return this}};l(m.prototype,{resolveWith:n("doneFuncs","rs"),rejectWith:n("failFuncs","rj"),done:T("doneFuncs","rs"),fail:T("failFuncs","rj"),always:function(){var a=r(arguments);a.length&&a[0]&&this.done(a[0]).fail(a[0]);return this},then:function(){var a=r(arguments);1<a.length&&a[1]&&this.fail(a[1]);a.length&&a[0]&&this.done(a[0]);return this},isResolved:function(){return"rs"===
6
+ this.status},isRejected:function(){return"rj"===this.status},reject:function(){return this.rejectWith(this,arguments)},resolve:function(){return this.resolveWith(this,arguments)},exec:function(a,b,c,e){if(""!==this.status)return this;this.status=e;i(b,function(b,e){e.apply(a,c)});return this}});var U=function(a,b,c,e){a=r(a,b);return m.when.apply(m,a).then(function(){if(y(c[e]))c[e]();else c[e].resolve()})},f=function(a){if(this.constructor!==f)return new f(a);l(this,f.parse(""+a))};l(f,{parse:function(a){var b=
7
+ a.split("?"),a=b.shift(),b=b.join("").split("#"),a=a.split("://"),b={query:b.shift(),fragment:b.join("#")};a[1]?(b.protocol=a.shift(),a=a[0].split("/"),b.host=a.shift(),b.path="/"+a.join("/")):b.path=a[0];return b}});f.page=f(g.location&&location.href);f.cur=f();l(f.prototype,{dir:function(){var a=this.path.split("/");a.pop();return f(this.domain()+a.join("/"))},filename:function(){return this.path.split("/").pop()},ext:function(){var a=this.filename();return~a.indexOf(".")?a.split(".").pop():""},
8
+ domain:function(){return this.protocol?this.protocol+"://"+this.host:""},isCrossDomain:function(a){var a=f(a||g.location.href),b=this.domain(),a=a.domain();return b&&a&&b!=a||"file"===this.protocol||b&&!a},isRelativeToDomain:function(){return!this.path.indexOf("/")},hash:function(){return this.fragment?"#"+this.fragment:""},search:function(){return this.query?"?"+this.query:""},add:function(a){return this.join(a)+""},join:function(a){a=f(a);if(a.isCrossDomain(this))return a;if(a.isRelativeToDomain())return f(this.domain()+
9
+ a);var b=this.path?this.path.split("/"):[],c=a.path.split("/"),e=c[0];for(this.path.match(/\/$/)&&b.pop();".."==e&&b.length&&b.pop();)c.shift(),e=c[0];return l(f(this.domain()+b.concat(c).join("/")),{query:a.query})},normalize:function(a){var a=a?a.dir():f.cur.dir(),b=this.path,c=f(b);b.indexOf("//")?b.indexOf("./")?this.isRelative()&&(c=a.join(this.domain()+b)):c=a.join(b.substr(2)):c=f(b.substr(2));c.query=this.query;return c},isRelative:function(){return/^[\.|\/]/.test(this.path)},pathTo:function(a){for(var a=
10
+ f(a),a=a.path.split("/"),b=this.path.split("/"),c=[];a.length&&b.length&&a[0]==b[0];)a.shift(),b.shift();i(b,function(){c.push("../")});return f(c.join("")+a.join("/"))},mapJoin:function(a){return this.join(f(a).insertMapping())},addJS:function(){this.ext()||(this.isRelative()||(this.path+="/"+this.filename()),this.path+=".js");return this}});d._id=Math.floor(1E3*Math.random());var h={types:{},ext:{},env:"development",loadProduction:!0,logLevel:0};d.config=function(a){if(!a)return h;if(1===arguments.length&&
11
+ "string"===typeof a)return h[a];for(var b in a){var c=a[b];d.config[b]?d.config[b](c):"object"==typeof c&&h[b]?l(h[b],c):h[b]=c}i(o,function(a,b){if("fn"!=b.options.type){var c=b.options.buildType;b.setOptions(b.orig);var d=b.options.id;a!==d&&(o[d]=b);b.options.buildType=c}});return h};d.config.startFile=function(a){h.startFile=""+f(a).addJS();h.production||(h.production=f(h.startFile).dir()+"/production.js")};d.config.root=function(a){if(a!==ba){var b=f(a),c=f.page,a=c.join(a);f.cur=a.pathTo(c);
12
+ h.root=b}else h.root=b||f("")};d.config.root("");d.id=function(a,b,c){var e=f(a),e=e.addJS().normalize(b?new f(b):null);c||(c="js");i(h.map||{},function(a,c){var d;d="*"===a?!0:0===b.indexOf(a)?!0:void 0;d&&i(c,function(a,b){0==(""+e).indexOf(a)&&(e=f((""+e).replace(a,b)))})});return e};d.idToUri=function(a,b){var c;i(h.paths||{},function(b,d){c=""+a;if(ca.test(b)&&0==c.indexOf(b)||c===b)a=f(c.replace(b,d))});return b?a:h.root.join(a)};f.prototype.toString=function(){return this.domain()+this.path+
13
+ this.search()+this.hash()};d.File=d.URI=f;var q=[],da=0;l(d,{each:i,extend:l,Deferred:m,isRhino:g.load&&g.readUrl&&g.readFile,makeOptions:function(a,b){if(!a.id)throw{message:"no id",options:a};a.id=d.id(a.id,b);a.ext=a.id.ext();var c=h.ext[a.ext];c&&!h.types[c]&&(a.needs||(a.needs=[]),a.needs.push(c));return a},then:function(){var a=r(arguments);a.unshift(null);return d.apply(g,a)},bind:function(a,b){B[a]||(B[a]=[]);var c=d.events[a];c&&c.add&&(b=c.add(b));b&&B[a].push(b);return d},one:function(a,
14
+ b){return d.bind(a,function(){b.apply(this,arguments);d.unbind(a,arguments.callee)})},events:{},unbind:function(a,b){for(var c=B[a]||[],e=0;e<c.length;)b===c[e]?c.splice(e,1):e++},trigger:function(a,b){i(r(B[a]||[]),function(a,e){e(b)})},has:function(){A=!1;i(arguments,function(a,b){var c=j.make(b);c.loading=c.executing=!0})},preexecuted:function(){},executed:function(a){a=j.make(a);a.loading=a.executing=!0;d.preexecuted(a);a.executed();return d},type:function(a,b){var c=a.split(" ");if(!b)return s[c.shift()].require;
15
+ s[c.shift()]={require:b,convert:c}}});var o={},j=function(a){this.dependencies=[];this.id=++da;this.orig=a;this.curId=d.cur&&d.cur.options.id;this.setOptions(a);this.loaded=m();this.run=m();this.completed=m()};j.make=function(a){var b=new j(a),c=b.options.id;b.unique&&c&&(!o[c]&&!o[c+".js"]?o[c]=b:(b=o[c],x(a)||(i(["id"],function(b,c){delete a[c]}),l(b.options,a))));return b};j.update=function(){for(var a in o)o[o].loaded.isResolved()};l(j.prototype,{setOptions:function(a){var b=this.options;if(a)if(y(a)){var c=
16
+ f.cur,e=this,g=d.cur;this.options={fn:function(){f.cur=c;for(var b=[],d=!1,h,i,j=g.dependencies.length;0<=j;j--){h=g.dependencies[j];if(d){if(null===h)break;i=J[h.options.id]||J[h.orig]||h.value;b.unshift(i)}h===e&&(d=!0)}if(b=a.apply(g,b))g.value=b;return b},id:c,type:"fn"};this.waits=!0;this.unique=!1}else this.options=d.makeOptions(l({},x(a)?{id:a}:a),this.curId),this.waits=this.options.waits||!1,this.unique=!0;else this.options={},this.waits=!1;for(opt in b)this.options[opt]||(this.options[opt]=
17
+ b[opt])},complete:function(){this.completed.resolve()},executed:function(){var a,b=this.options.src;this.options.id&&(f.cur=f(this.options.id));d.cur=this;this.run.resolve();A&&b&&(a=u[b]);a||(a=q.slice(0),q=[]);if(a.length){var c=this,e="production"==h.env,g=[];i(a,function(a,b){if(b===null)g.push(null);else if(!e||!b.ignore){var c=j.make(b);if(K[c.options.id]&&c.options.type!=="fn"){d.has(""+c.options.id);c=j.make(K[""+c.options.id])}g.push(c)}});var t=[],k=[],l=[],m=!0;i(g,function(a,b){c.dependencies.push(b);
18
+ if((b===null||b.waits)&&k.length){t=t.concat(k);k=[];m=false;if(b===null)return}if(b!==null){var e=t.slice(0);i(b.options.needs||[],function(a,b){var c=j.make(b);e.push(c);l.push(c)});e.length&&U(e,"completed",b,"execute");b.waitedOn=b.waitedOn?b.waitedOn.concat(t):t.slice(0);k.push(b);m&&(b.options.needs||[]).length==0&&l.push(b);b.load()}});t=t.concat(k);U(t,"completed",c,"completed");i(l,function(a,b){b.execute()})}else this.complete()},load:function(){!this.loading&&!this.loaded.isResolved()&&
19
+ (this.loading=!0,this.loaded.resolve())},execute:function(){var a=this;a.loaded.isResolved()||a.loaded.resolve();a.executing||(a.executing=!0,d.require(a.options,function(b){a.executed(b)},function(){var b=a.options.abort,c=a.options.error;c&&c.call(a.options);g.clearTimeout&&g.clearTimeout(a.completeTimeout);if(!1===b)a.executed();else throw"steal.js : "+a.options.src+" not completed";}))}});var B={},s=h.types;d.config.types=function(a){i(a,d.type)};j.prototype.execute=w(j.prototype.execute,function(){var a=
20
+ this.options;if(!a.type){var b=f(a.id).ext();!b&&!s[b]&&(b="js");a.type=b}if(!s[a.type]&&"development"==h.env)throw"steal.js - type "+a.type+" has not been loaded.";if(s[a.type]||"production"!=h.env)b=s[a.type].convert,a.buildType=b.length?b[b.length-1]:a.type});d.require=function(a,b,c){a.src=d.idToUri(a.id);var e=s[a.type];e.convert.length?(e=e.convert.slice(0),e.unshift("text",a.type)):e=[a.type];Q(a,e,b,c)};var D,ea=/^loade|c|u/,L=0,fa=k&&k.createStyleSheet,V,W;d.config({types:{js:function(a,
21
+ b,c){var e=H(),d=function(){if(!e.readyState||ea.test(e.readyState))e.onreadystatechange=e.onload=e.onerror=null,setTimeout(function(){z().removeChild(e)},1),b()};if(a.text)e.text=a.text;else{e.onload=e.onreadystatechange=d;var f=a.src;S&&(c&&"file"!==f.protocol)&&(e.onerror=c);e.src=""+f;e.onSuccess=b}D=e;z().insertBefore(e,z().firstChild);a.text&&d()},fn:function(a,b){var c;a.skipCallbacks||(c=a.fn());b(c)},text:function(a,b,c){d.request(a,function(c){a.text=c;b(c)},c)},css:function(a,b){if(a.text){var c=
22
+ k.createElement("style");c.type="text/css";if(c.styleSheet)c.styleSheet.cssText=a.text;else{var e=k.createTextNode(a.text);c.childNodes.length?c.firstChild.nodeValue!==e.nodeValue&&c.replaceChild(e,c.firstChild):c.appendChild(e)}}else{if(fa){L++?(c=""+f(f(W.src).dir()).pathTo(a.src),V.addImport(I(c)),30==L&&(L=0)):(V=k.createStyleSheet(I(a.src)),W=a);b();return}a=a||{};c=k.createElement("link");c.rel=a.rel||"stylesheet";c.href=I(a.src);c.type="text/css"}z().appendChild(c);b()}}});var ga=function(){return g.ActiveXObject?
23
+ new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest};d.request=function(a,b,c){var e=new ga,d=a.contentType||"application/x-www-form-urlencoded; charset=utf-8",f=function(){e=g=f=null},g=function(){var a;e&&4===e.readyState&&(a=e.status,500===a||404===a||2===a||0>e.status||!a&&""===e.responseText?c&&c(e.status):b(e.responseText),f())};e.open("GET",a.src+"",!1!==a.async);e.setRequestHeader("Content-type",d);e.overrideMimeType&&e.overrideMimeType(d);e.onreadystatechange=g;try{e.send(null)}catch(h){f&&
24
+ (console.error(h),c&&c(),f())}};var M=[],K={};d.packages=function(a){return arguments.length?("string"==typeof a?M.push.apply(M,arguments):K=a,this):M};f.prototype.insertMapping=function(){var a=""+this,b,c;for(b in d.mappings)if(c=d.mappings[b],c.test.test(a))return a.replace(b,c.path);return f(a)};var N=!1;l(d,{mappings:{},map:function(a,b){x(a)?(d.mappings[a]={test:RegExp("^(/?"+a+")([/.]|$)"),path:b},i(o,function(a,b){if("fn"!=b.options.type){var d=b.options.buildType;b.setOptions(b.orig);b.options.buildType=
25
+ d}})):i(a,d.map);return this},after:function(){if(!N){var a=N=new j,b=function(){d.trigger("start",a);a.completed.then(function(){N=null;d.trigger("end",a)});a.executed()};if(g.setTimeout){var c=q.slice(0);q=[];setTimeout(function(){q=c.concat(null,q);b()},0)}else b()}},_before:w,_after:v});var O=!1,X,Y=!1;j.prototype.executed=w(j.prototype.executed,function(){var a=g.jQuery;a&&"readyWait"in a&&!O&&(X=a,a.readyWait+=1,O=!0)});d.bind("end",function(){O&&!Y&&(X.ready(!0),Y=!0)});l(j.prototype,{load:v(j.prototype.load,
26
+ function(){var a=this;if(k&&!a.completed&&!a.completeTimeout&&!d.isRhino&&("file"==a.options.src.protocol||!S))a.completeTimeout=setTimeout(function(){throw"steal.js : "+a.options.src+" not completed";},5E3)}),complete:v(j.prototype.complete,function(){this.completeTimeout&&clearTimeout(this.completeTimeout)}),executed:w(j.prototype.executed,function(){this.options.has&&this.loadHas()}),loadHas:function(){var a=f.cur;"js"!=this.options.buildType&&i(this.options.has,function(b,c){f.cur=f(a);d.executed(c)})}});
27
+ j.make=v(j.make,function(a){a.options.has&&(a.run.isResolved()?a.loadHas():d.has.apply(d,a.options.has));return a},!0);var Z=m(),P=m(),E=!1,n=function(){Z.resolve()};g.addEventListener?g.addEventListener("load",n,!1):g.attachEvent?g.attachEvent("onload",n):n();d.one("end",function(a){P.resolve(a);E=a;d.trigger("done",E)});d.firstComplete=P;m.when(Z,P).then(function(){d.trigger("ready");d.isReady=!0});d.events.done={add:function(a){return E?(a(E),!1):a}};var F,u={},$=function(){for(var a=k.getElementsByTagName("script"),
28
+ b=a.length;b--;)if("interactive"===a[b].readyState)return a[b]},aa=function(){return F&&"interactive"===F.readyState||(F=$())?F:D&&"interactive"==D.readyState?D:null};if(A=k&&!!$())d.after=v(d.after,function(){if(A){var a=aa();a&&(a.src&&!/steal\.(production|production\.[a-zA-Z0-9\-\.\_]*)*js/.test(a.src))&&(a=a.src,u[a]||(u[a]=[]),a&&(u[a].push.apply(u[a],q),q=[]))}}),d.preexecuted=w(d.preexecuted,function(a){if(A){var a=a.options.src,b=aa().src;u[a]=u[b];u[b]=null}});var ha=/steal\.(production\.)?js.*/;
29
+ d.getScriptOptions=function(a){var b={},c,d;if(!a)if(k){var a=k.getElementsByTagName("script"),f;i(a,function(a,b){ha.test(b.src)&&(f=b)});a=f}else a=void 0;if(a){c=a.src.split("?");a=c.shift();c=c.join("?");c=c.split(",");-1<a.indexOf("steal.production")&&(b.env="production");if(d=c[0])-1==d.indexOf(".js")&&(d+="/"+d.split("/").pop()+".js"),b.startFile=d;if(c=c[1])b.env=c;c=a.split("/");c.pop();"steal"==c[c.length-1]&&c.pop();b.root=c.join("/")}return b};p=v(p,function(){var a={};l(a,d.getScriptOptions());
30
+ l(a,C);var b=g.location&&decodeURIComponent(g.location.search);b&&b.replace(/steal\[([^\]]+)\]=([^&]+)/g,function(b,c,d){a[c]=~d.indexOf(",")?d.split(","):d});d.config(a);i(a.executed||[],function(a,b){d.executed(b)});b=[];a.startFiles&&(b.push.apply(b,x(a.startFiles)?[a.startFiles]:a.startFiles),a.startFiles=b.slice(0));try{!a.browser&&(g.top&&g.top.steal.instrument||g.top&&g.top.opener&&g.top.opener.steal&&g.top.opener.steal.instrument)&&b.push(G,{id:"steal/instrument",waits:!0})}catch(c){}"production"==
31
+ h.env&&h.loadProduction&&h.production?d({id:h.production,force:!0}):(b.unshift("stealconfig.js"),!1!==a.loadDev&&b.unshift({id:"steal/dev/dev.js",ignore:!0}),a.startFile&&b.push(null,a.startFile));b.length&&d.apply(g,b)});var J={};g.define=function(a,b,c){b&&(c&&!b.length)&&(J[a]=c())};g.define.amd={jQuery:!0};g.steal=d;define("steal",[],function(){return d});n=new j("steal");n.value=d;n.loaded.resolve();n.run.resolve();n.executing=!0;n.completed.resolve();o[n.options.id]=n;p();g.steal.resources=
32
+ o;g.Resource=j})(this);
@@ -0,0 +1,19 @@
1
+ steal.config({
2
+ map: {
3
+ "*": {
4
+ "jquery/jquery.js" : "jquery",
5
+ "can/util/util.js": "can/util/jquery/jquery.js",
6
+ "stuff/views/" : "tmp/views/"
7
+ }
8
+ },
9
+ paths: {
10
+ "jquery": "can/util/jquery/jquery.1.8.1.js"
11
+ },
12
+ ext: {
13
+ js: "js",
14
+ css: "css",
15
+ less: "steal/less/less.js",
16
+ coffee: "steal/coffee/coffee.js",
17
+ ejs: "can/view/ejs/ejs.js"
18
+ }
19
+ })