angular_scaffold 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +37 -0
- data/app/assets/javascripts/angular_scaffold/application.js +13 -0
- data/app/assets/stylesheets/angular_scaffold/application.css +15 -0
- data/app/controllers/angular_scaffold/application_controller.rb +5 -0
- data/app/helpers/angular_scaffold/application_helper.rb +4 -0
- data/app/views/layouts/angular_scaffold/application.html.erb +14 -0
- data/config/routes.rb +2 -0
- data/lib/angular_scaffold.rb +4 -0
- data/lib/angular_scaffold/engine.rb +5 -0
- data/lib/angular_scaffold/version.rb +3 -0
- data/lib/generators/angular_scaffold/install/USAGE +8 -0
- data/lib/generators/angular_scaffold/install/install_generator.rb +203 -0
- data/lib/generators/angular_scaffold/install/templates/AngularJS-medium.png +0 -0
- data/lib/generators/angular_scaffold/install/templates/angularjs/angular-1.0.6.min.js +162 -0
- data/lib/generators/angular_scaffold/install/templates/angularjs/angular-bootstrap-1.0.6.min.js +9 -0
- data/lib/generators/angular_scaffold/install/templates/angularjs/angular-bootstrap-prettify-1.0.6.min.js +41 -0
- data/lib/generators/angular_scaffold/install/templates/angularjs/angular-cookies-1.0.6.min.js +7 -0
- data/lib/generators/angular_scaffold/install/templates/angularjs/angular-loader-1.0.6.min.js +7 -0
- data/lib/generators/angular_scaffold/install/templates/angularjs/angular-mocks.js +1768 -0
- data/lib/generators/angular_scaffold/install/templates/angularjs/angular-resource-1.0.6.min.js +10 -0
- data/lib/generators/angular_scaffold/install/templates/angularjs/angular-sanitize-1.0.6.min.js +13 -0
- data/lib/generators/angular_scaffold/install/templates/angularjs/angular-scenario.js +26223 -0
- data/lib/generators/angular_scaffold/install/templates/application.html.erb +67 -0
- data/lib/generators/angular_scaffold/install/templates/application.js +17 -0
- data/lib/generators/angular_scaffold/install/templates/bootstrap/css/bootstrap-responsive.min.css +9 -0
- data/lib/generators/angular_scaffold/install/templates/bootstrap/css/bootstrap-theme.min.css +6 -0
- data/lib/generators/angular_scaffold/install/templates/bootstrap/css/bootstrap-theme.min.css.map +1 -0
- data/lib/generators/angular_scaffold/install/templates/bootstrap/css/bootstrap.min.css +6 -0
- data/lib/generators/angular_scaffold/install/templates/bootstrap/css/bootstrap.min.css.map +1 -0
- data/lib/generators/angular_scaffold/install/templates/bootstrap/img/glyphicons-halflings-white.png +0 -0
- data/lib/generators/angular_scaffold/install/templates/bootstrap/img/glyphicons-halflings.png +0 -0
- data/lib/generators/angular_scaffold/install/templates/bootstrap/js/bootstrap.min.js +7 -0
- data/lib/generators/angular_scaffold/install/templates/bower.json +18 -0
- data/lib/generators/angular_scaffold/install/templates/bower.json~ +0 -0
- data/lib/generators/angular_scaffold/install/templates/csrf_controller.js +18 -0
- data/lib/generators/angular_scaffold/install/templates/favicon.ico +0 -0
- data/lib/generators/angular_scaffold/install/templates/fontawesome/font-awesome.css.erb +540 -0
- data/lib/generators/angular_scaffold/install/templates/fonts/FontAwesome.otf +0 -0
- data/lib/generators/angular_scaffold/install/templates/fonts/fontawesome-webfont.eot +0 -0
- data/lib/generators/angular_scaffold/install/templates/fonts/fontawesome-webfont.svg +284 -0
- data/lib/generators/angular_scaffold/install/templates/fonts/fontawesome-webfont.ttf +0 -0
- data/lib/generators/angular_scaffold/install/templates/fonts/fontawesome-webfont.woff +0 -0
- data/lib/generators/angular_scaffold/install/templates/index_welcome.html.erb +6 -0
- data/lib/generators/angular_scaffold/install/templates/myangular/app.js +34 -0
- data/lib/generators/angular_scaffold/install/templates/myangular/application.html.erb +57 -0
- data/lib/generators/angular_scaffold/install/templates/myangular/application.js +27 -0
- data/lib/generators/angular_scaffold/install/templates/myangular/welcome_controller.js +5 -0
- data/lib/generators/angular_scaffold/install/templates/routes.js.erb +23 -0
- data/lib/generators/angular_scaffold/install/templates/underscore/underscore-min.js +1 -0
- data/lib/generators/angular_scaffold/install/templates/welcome_controller.js +11 -0
- data/lib/generators/angular_scaffold/scaffold/USAGE +8 -0
- data/lib/generators/angular_scaffold/scaffold/scaffold_generator.rb +117 -0
- data/lib/generators/angular_scaffold/scaffold/templates/edit.html.erb +47 -0
- data/lib/generators/angular_scaffold/scaffold/templates/index.html.erb +42 -0
- data/lib/generators/angular_scaffold/scaffold/templates/new.html.erb +45 -0
- data/lib/generators/angular_scaffold/scaffold/templates/plural_model_name.js +19 -0
- data/lib/generators/angular_scaffold/scaffold/templates/plural_model_name.js.coffee +20 -0
- data/lib/generators/angular_scaffold/scaffold/templates/plural_model_name_controller.js +71 -0
- data/lib/generators/angular_scaffold/scaffold/templates/plural_model_name_controller.js.coffee +62 -0
- data/lib/generators/angular_scaffold/scaffold/templates/show.html.erb +22 -0
- data/lib/tasks/angular_scaffold_tasks.rake +4 -0
- data/test/angular_scaffold_test.rb +7 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/bin/setup +29 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +26 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +41 -0
- data/test/dummy/config/environments/production.rb +79 -0
- data/test/dummy/config/environments/test.rb +42 -0
- data/test/dummy/config/initializers/assets.rb +11 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/routes.rb +4 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/integration/navigation_test.rb +8 -0
- data/test/lib/generators/angular_scaffold/angular_scaffold/install_generator_test.rb +16 -0
- data/test/lib/generators/angular_scaffold/angular_scaffold/scaffold_generator_test.rb +16 -0
- data/test/test_helper.rb +21 -0
- metadata +213 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(){var n=this,t=n._,r={},e=Array.prototype,u=Object.prototype,i=Function.prototype,a=e.push,o=e.slice,c=e.concat,l=u.toString,f=u.hasOwnProperty,s=e.forEach,p=e.map,h=e.reduce,v=e.reduceRight,d=e.filter,g=e.every,m=e.some,y=e.indexOf,b=e.lastIndexOf,x=Array.isArray,_=Object.keys,j=i.bind,w=function(n){return n instanceof w?n:this instanceof w?(this._wrapped=n,void 0):new w(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=w),exports._=w):n._=w,w.VERSION="1.4.4";var A=w.each=w.forEach=function(n,t,e){if(null!=n)if(s&&n.forEach===s)n.forEach(t,e);else if(n.length===+n.length){for(var u=0,i=n.length;i>u;u++)if(t.call(e,n[u],u,n)===r)return}else for(var a in n)if(w.has(n,a)&&t.call(e,n[a],a,n)===r)return};w.map=w.collect=function(n,t,r){var e=[];return null==n?e:p&&n.map===p?n.map(t,r):(A(n,function(n,u,i){e[e.length]=t.call(r,n,u,i)}),e)};var O="Reduce of empty array with no initial value";w.reduce=w.foldl=w.inject=function(n,t,r,e){var u=arguments.length>2;if(null==n&&(n=[]),h&&n.reduce===h)return e&&(t=w.bind(t,e)),u?n.reduce(t,r):n.reduce(t);if(A(n,function(n,i,a){u?r=t.call(e,r,n,i,a):(r=n,u=!0)}),!u)throw new TypeError(O);return r},w.reduceRight=w.foldr=function(n,t,r,e){var u=arguments.length>2;if(null==n&&(n=[]),v&&n.reduceRight===v)return e&&(t=w.bind(t,e)),u?n.reduceRight(t,r):n.reduceRight(t);var i=n.length;if(i!==+i){var a=w.keys(n);i=a.length}if(A(n,function(o,c,l){c=a?a[--i]:--i,u?r=t.call(e,r,n[c],c,l):(r=n[c],u=!0)}),!u)throw new TypeError(O);return r},w.find=w.detect=function(n,t,r){var e;return E(n,function(n,u,i){return t.call(r,n,u,i)?(e=n,!0):void 0}),e},w.filter=w.select=function(n,t,r){var e=[];return null==n?e:d&&n.filter===d?n.filter(t,r):(A(n,function(n,u,i){t.call(r,n,u,i)&&(e[e.length]=n)}),e)},w.reject=function(n,t,r){return w.filter(n,function(n,e,u){return!t.call(r,n,e,u)},r)},w.every=w.all=function(n,t,e){t||(t=w.identity);var u=!0;return null==n?u:g&&n.every===g?n.every(t,e):(A(n,function(n,i,a){return(u=u&&t.call(e,n,i,a))?void 0:r}),!!u)};var E=w.some=w.any=function(n,t,e){t||(t=w.identity);var u=!1;return null==n?u:m&&n.some===m?n.some(t,e):(A(n,function(n,i,a){return u||(u=t.call(e,n,i,a))?r:void 0}),!!u)};w.contains=w.include=function(n,t){return null==n?!1:y&&n.indexOf===y?n.indexOf(t)!=-1:E(n,function(n){return n===t})},w.invoke=function(n,t){var r=o.call(arguments,2),e=w.isFunction(t);return w.map(n,function(n){return(e?t:n[t]).apply(n,r)})},w.pluck=function(n,t){return w.map(n,function(n){return n[t]})},w.where=function(n,t,r){return w.isEmpty(t)?r?null:[]:w[r?"find":"filter"](n,function(n){for(var r in t)if(t[r]!==n[r])return!1;return!0})},w.findWhere=function(n,t){return w.where(n,t,!0)},w.max=function(n,t,r){if(!t&&w.isArray(n)&&n[0]===+n[0]&&65535>n.length)return Math.max.apply(Math,n);if(!t&&w.isEmpty(n))return-1/0;var e={computed:-1/0,value:-1/0};return A(n,function(n,u,i){var a=t?t.call(r,n,u,i):n;a>=e.computed&&(e={value:n,computed:a})}),e.value},w.min=function(n,t,r){if(!t&&w.isArray(n)&&n[0]===+n[0]&&65535>n.length)return Math.min.apply(Math,n);if(!t&&w.isEmpty(n))return 1/0;var e={computed:1/0,value:1/0};return A(n,function(n,u,i){var a=t?t.call(r,n,u,i):n;e.computed>a&&(e={value:n,computed:a})}),e.value},w.shuffle=function(n){var t,r=0,e=[];return A(n,function(n){t=w.random(r++),e[r-1]=e[t],e[t]=n}),e};var k=function(n){return w.isFunction(n)?n:function(t){return t[n]}};w.sortBy=function(n,t,r){var e=k(t);return w.pluck(w.map(n,function(n,t,u){return{value:n,index:t,criteria:e.call(r,n,t,u)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(r>e||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.index<t.index?-1:1}),"value")};var F=function(n,t,r,e){var u={},i=k(t||w.identity);return A(n,function(t,a){var o=i.call(r,t,a,n);e(u,o,t)}),u};w.groupBy=function(n,t,r){return F(n,t,r,function(n,t,r){(w.has(n,t)?n[t]:n[t]=[]).push(r)})},w.countBy=function(n,t,r){return F(n,t,r,function(n,t){w.has(n,t)||(n[t]=0),n[t]++})},w.sortedIndex=function(n,t,r,e){r=null==r?w.identity:k(r);for(var u=r.call(e,t),i=0,a=n.length;a>i;){var o=i+a>>>1;u>r.call(e,n[o])?i=o+1:a=o}return i},w.toArray=function(n){return n?w.isArray(n)?o.call(n):n.length===+n.length?w.map(n,w.identity):w.values(n):[]},w.size=function(n){return null==n?0:n.length===+n.length?n.length:w.keys(n).length},w.first=w.head=w.take=function(n,t,r){return null==n?void 0:null==t||r?n[0]:o.call(n,0,t)},w.initial=function(n,t,r){return o.call(n,0,n.length-(null==t||r?1:t))},w.last=function(n,t,r){return null==n?void 0:null==t||r?n[n.length-1]:o.call(n,Math.max(n.length-t,0))},w.rest=w.tail=w.drop=function(n,t,r){return o.call(n,null==t||r?1:t)},w.compact=function(n){return w.filter(n,w.identity)};var R=function(n,t,r){return A(n,function(n){w.isArray(n)?t?a.apply(r,n):R(n,t,r):r.push(n)}),r};w.flatten=function(n,t){return R(n,t,[])},w.without=function(n){return w.difference(n,o.call(arguments,1))},w.uniq=w.unique=function(n,t,r,e){w.isFunction(t)&&(e=r,r=t,t=!1);var u=r?w.map(n,r,e):n,i=[],a=[];return A(u,function(r,e){(t?e&&a[a.length-1]===r:w.contains(a,r))||(a.push(r),i.push(n[e]))}),i},w.union=function(){return w.uniq(c.apply(e,arguments))},w.intersection=function(n){var t=o.call(arguments,1);return w.filter(w.uniq(n),function(n){return w.every(t,function(t){return w.indexOf(t,n)>=0})})},w.difference=function(n){var t=c.apply(e,o.call(arguments,1));return w.filter(n,function(n){return!w.contains(t,n)})},w.zip=function(){for(var n=o.call(arguments),t=w.max(w.pluck(n,"length")),r=Array(t),e=0;t>e;e++)r[e]=w.pluck(n,""+e);return r},w.object=function(n,t){if(null==n)return{};for(var r={},e=0,u=n.length;u>e;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},w.indexOf=function(n,t,r){if(null==n)return-1;var e=0,u=n.length;if(r){if("number"!=typeof r)return e=w.sortedIndex(n,t),n[e]===t?e:-1;e=0>r?Math.max(0,u+r):r}if(y&&n.indexOf===y)return n.indexOf(t,r);for(;u>e;e++)if(n[e]===t)return e;return-1},w.lastIndexOf=function(n,t,r){if(null==n)return-1;var e=null!=r;if(b&&n.lastIndexOf===b)return e?n.lastIndexOf(t,r):n.lastIndexOf(t);for(var u=e?r:n.length;u--;)if(n[u]===t)return u;return-1},w.range=function(n,t,r){1>=arguments.length&&(t=n||0,n=0),r=arguments[2]||1;for(var e=Math.max(Math.ceil((t-n)/r),0),u=0,i=Array(e);e>u;)i[u++]=n,n+=r;return i},w.bind=function(n,t){if(n.bind===j&&j)return j.apply(n,o.call(arguments,1));var r=o.call(arguments,2);return function(){return n.apply(t,r.concat(o.call(arguments)))}},w.partial=function(n){var t=o.call(arguments,1);return function(){return n.apply(this,t.concat(o.call(arguments)))}},w.bindAll=function(n){var t=o.call(arguments,1);return 0===t.length&&(t=w.functions(n)),A(t,function(t){n[t]=w.bind(n[t],n)}),n},w.memoize=function(n,t){var r={};return t||(t=w.identity),function(){var e=t.apply(this,arguments);return w.has(r,e)?r[e]:r[e]=n.apply(this,arguments)}},w.delay=function(n,t){var r=o.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},w.defer=function(n){return w.delay.apply(w,[n,1].concat(o.call(arguments,1)))},w.throttle=function(n,t){var r,e,u,i,a=0,o=function(){a=new Date,u=null,i=n.apply(r,e)};return function(){var c=new Date,l=t-(c-a);return r=this,e=arguments,0>=l?(clearTimeout(u),u=null,a=c,i=n.apply(r,e)):u||(u=setTimeout(o,l)),i}},w.debounce=function(n,t,r){var e,u;return function(){var i=this,a=arguments,o=function(){e=null,r||(u=n.apply(i,a))},c=r&&!e;return clearTimeout(e),e=setTimeout(o,t),c&&(u=n.apply(i,a)),u}},w.once=function(n){var t,r=!1;return function(){return r?t:(r=!0,t=n.apply(this,arguments),n=null,t)}},w.wrap=function(n,t){return function(){var r=[n];return a.apply(r,arguments),t.apply(this,r)}},w.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length-1;r>=0;r--)t=[n[r].apply(this,t)];return t[0]}},w.after=function(n,t){return 0>=n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},w.keys=_||function(n){if(n!==Object(n))throw new TypeError("Invalid object");var t=[];for(var r in n)w.has(n,r)&&(t[t.length]=r);return t},w.values=function(n){var t=[];for(var r in n)w.has(n,r)&&t.push(n[r]);return t},w.pairs=function(n){var t=[];for(var r in n)w.has(n,r)&&t.push([r,n[r]]);return t},w.invert=function(n){var t={};for(var r in n)w.has(n,r)&&(t[n[r]]=r);return t},w.functions=w.methods=function(n){var t=[];for(var r in n)w.isFunction(n[r])&&t.push(r);return t.sort()},w.extend=function(n){return A(o.call(arguments,1),function(t){if(t)for(var r in t)n[r]=t[r]}),n},w.pick=function(n){var t={},r=c.apply(e,o.call(arguments,1));return A(r,function(r){r in n&&(t[r]=n[r])}),t},w.omit=function(n){var t={},r=c.apply(e,o.call(arguments,1));for(var u in n)w.contains(r,u)||(t[u]=n[u]);return t},w.defaults=function(n){return A(o.call(arguments,1),function(t){if(t)for(var r in t)null==n[r]&&(n[r]=t[r])}),n},w.clone=function(n){return w.isObject(n)?w.isArray(n)?n.slice():w.extend({},n):n},w.tap=function(n,t){return t(n),n};var I=function(n,t,r,e){if(n===t)return 0!==n||1/n==1/t;if(null==n||null==t)return n===t;n instanceof w&&(n=n._wrapped),t instanceof w&&(t=t._wrapped);var u=l.call(n);if(u!=l.call(t))return!1;switch(u){case"[object String]":return n==t+"";case"[object Number]":return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case"[object Date]":case"[object Boolean]":return+n==+t;case"[object RegExp]":return n.source==t.source&&n.global==t.global&&n.multiline==t.multiline&&n.ignoreCase==t.ignoreCase}if("object"!=typeof n||"object"!=typeof t)return!1;for(var i=r.length;i--;)if(r[i]==n)return e[i]==t;r.push(n),e.push(t);var a=0,o=!0;if("[object Array]"==u){if(a=n.length,o=a==t.length)for(;a--&&(o=I(n[a],t[a],r,e)););}else{var c=n.constructor,f=t.constructor;if(c!==f&&!(w.isFunction(c)&&c instanceof c&&w.isFunction(f)&&f instanceof f))return!1;for(var s in n)if(w.has(n,s)&&(a++,!(o=w.has(t,s)&&I(n[s],t[s],r,e))))break;if(o){for(s in t)if(w.has(t,s)&&!a--)break;o=!a}}return r.pop(),e.pop(),o};w.isEqual=function(n,t){return I(n,t,[],[])},w.isEmpty=function(n){if(null==n)return!0;if(w.isArray(n)||w.isString(n))return 0===n.length;for(var t in n)if(w.has(n,t))return!1;return!0},w.isElement=function(n){return!(!n||1!==n.nodeType)},w.isArray=x||function(n){return"[object Array]"==l.call(n)},w.isObject=function(n){return n===Object(n)},A(["Arguments","Function","String","Number","Date","RegExp"],function(n){w["is"+n]=function(t){return l.call(t)=="[object "+n+"]"}}),w.isArguments(arguments)||(w.isArguments=function(n){return!(!n||!w.has(n,"callee"))}),"function"!=typeof/./&&(w.isFunction=function(n){return"function"==typeof n}),w.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},w.isNaN=function(n){return w.isNumber(n)&&n!=+n},w.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"==l.call(n)},w.isNull=function(n){return null===n},w.isUndefined=function(n){return n===void 0},w.has=function(n,t){return f.call(n,t)},w.noConflict=function(){return n._=t,this},w.identity=function(n){return n},w.times=function(n,t,r){for(var e=Array(n),u=0;n>u;u++)e[u]=t.call(r,u);return e},w.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))};var M={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};M.unescape=w.invert(M.escape);var S={escape:RegExp("["+w.keys(M.escape).join("")+"]","g"),unescape:RegExp("("+w.keys(M.unescape).join("|")+")","g")};w.each(["escape","unescape"],function(n){w[n]=function(t){return null==t?"":(""+t).replace(S[n],function(t){return M[n][t]})}}),w.result=function(n,t){if(null==n)return null;var r=n[t];return w.isFunction(r)?r.call(n):r},w.mixin=function(n){A(w.functions(n),function(t){var r=w[t]=n[t];w.prototype[t]=function(){var n=[this._wrapped];return a.apply(n,arguments),D.call(this,r.apply(w,n))}})};var N=0;w.uniqueId=function(n){var t=++N+"";return n?n+t:t},w.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var T=/(.)^/,q={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"},B=/\\|'|\r|\n|\t|\u2028|\u2029/g;w.template=function(n,t,r){var e;r=w.defaults({},r,w.templateSettings);var u=RegExp([(r.escape||T).source,(r.interpolate||T).source,(r.evaluate||T).source].join("|")+"|$","g"),i=0,a="__p+='";n.replace(u,function(t,r,e,u,o){return a+=n.slice(i,o).replace(B,function(n){return"\\"+q[n]}),r&&(a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'"),e&&(a+="'+\n((__t=("+e+"))==null?'':__t)+\n'"),u&&(a+="';\n"+u+"\n__p+='"),i=o+t.length,t}),a+="';\n",r.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{e=Function(r.variable||"obj","_",a)}catch(o){throw o.source=a,o}if(t)return e(t,w);var c=function(n){return e.call(this,n,w)};return c.source="function("+(r.variable||"obj")+"){\n"+a+"}",c},w.chain=function(n){return w(n).chain()};var D=function(n){return this._chain?w(n).chain():n};w.mixin(w),A(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=e[n];w.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!=n&&"splice"!=n||0!==r.length||delete r[0],D.call(this,r)}}),A(["concat","join","slice"],function(n){var t=e[n];w.prototype[n]=function(){return D.call(this,t.apply(this._wrapped,arguments))}}),w.extend(w.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}).call(this);
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
require 'rails/generators'
|
|
2
|
+
require 'rails/generators/generated_attribute'
|
|
3
|
+
|
|
4
|
+
module AngularScaffold
|
|
5
|
+
class ScaffoldGenerator < Rails::Generators::Base
|
|
6
|
+
source_root File.expand_path('../templates', __FILE__)
|
|
7
|
+
|
|
8
|
+
argument :controller_name, type: :string
|
|
9
|
+
|
|
10
|
+
def language_option
|
|
11
|
+
# if File.exist?("app/assets/javascripts/routes.js.erb")
|
|
12
|
+
answer = 'javascript'
|
|
13
|
+
# else
|
|
14
|
+
# answer = 'coffeescript'
|
|
15
|
+
# end
|
|
16
|
+
answer
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def init_vars
|
|
20
|
+
@model_name = controller_name.singularize #"Post"
|
|
21
|
+
@controller = controller_name #"Posts"
|
|
22
|
+
@resource_name = @model_name.demodulize.underscore #post
|
|
23
|
+
@plural_model_name = @resource_name.pluralize #posts
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def columns
|
|
27
|
+
begin
|
|
28
|
+
excluded_column_names = %w[id _id _type created_at updated_at]
|
|
29
|
+
@model_name.constantize.columns.
|
|
30
|
+
reject{|c| excluded_column_names.include?(c.name) }.
|
|
31
|
+
collect{|c| ::Rails::Generators::GeneratedAttribute.
|
|
32
|
+
new(c.name, c.type)}
|
|
33
|
+
rescue NoMethodError
|
|
34
|
+
@model_name.constantize.fields.
|
|
35
|
+
collect{|c| c[1]}.
|
|
36
|
+
reject{|c| excluded_column_names.include?(c.name) }.
|
|
37
|
+
collect{|c|
|
|
38
|
+
::Rails::Generators::GeneratedAttribute.
|
|
39
|
+
new(c.name, c.type.to_s)}
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def generate
|
|
44
|
+
remove_file "app/assets/stylesheets/scaffolds.css.scss"
|
|
45
|
+
# append_to_file "app/assets/javascripts/application.js",
|
|
46
|
+
# "//= require #{@plural_model_name}_controller\n"
|
|
47
|
+
# append_to_file "app/assets/javascripts/application.js",
|
|
48
|
+
# "//= require #{@plural_model_name}\n"
|
|
49
|
+
# if language_option == 'coffeescript'
|
|
50
|
+
# insert_into_file "app/assets/javascripts/routes.coffee.erb",
|
|
51
|
+
# ", \'#{@plural_model_name}\'", :after => "'ngCookies'"
|
|
52
|
+
# insert_into_file "app/assets/javascripts/routes.coffee.erb",
|
|
53
|
+
# %{when("/#{@plural_model_name}",
|
|
54
|
+
# controller: #{@controller}IndexCtrl
|
|
55
|
+
# templateUrl: '<%= asset_path(\"#{@plural_model_name}/index.html\") %>'
|
|
56
|
+
# ).when("/#{@plural_model_name}/new",
|
|
57
|
+
# controller: #{@controller}CreateCtrl
|
|
58
|
+
# templateUrl: '<%= asset_path(\"#{@plural_model_name}/new.html\") %>'
|
|
59
|
+
# ).when("/#{@plural_model_name}/:id",
|
|
60
|
+
# controller: #{@controller}ShowCtrl
|
|
61
|
+
# templateUrl: '<%= asset_path(\"#{@plural_model_name}/show.html\") %>'
|
|
62
|
+
# ).when("/#{@plural_model_name}/:id/edit",
|
|
63
|
+
# controller: #{@controller}EditCtrl
|
|
64
|
+
# templateUrl: '<%= asset_path(\"#{@plural_model_name}/edit.html\") %>'
|
|
65
|
+
# ).}, :before => 'otherwise'
|
|
66
|
+
# else
|
|
67
|
+
insert_into_file "app/assets/javascripts/angular-app/app.js.erb",
|
|
68
|
+
", '#{@plural_model_name}'", :after => "'ngCookies'"
|
|
69
|
+
insert_into_file "app/assets/javascripts/angular-app/app.js.erb",
|
|
70
|
+
%{\n when('/#{@plural_model_name}', {controller:#{@controller}IndexCtrl,
|
|
71
|
+
templateUrl:'<%= asset_path("#{@plural_model_name}/index.html") %>'}).
|
|
72
|
+
when('/#{@plural_model_name}/new', {controller:#{@controller}CreateCtrl,
|
|
73
|
+
templateUrl:'<%= asset_path("#{@plural_model_name}/new.html") %>'}).
|
|
74
|
+
when('/#{@plural_model_name}/:id', {controller:#{@controller}ShowCtrl,
|
|
75
|
+
templateUrl:'<%= asset_path("#{@plural_model_name}/show.html") %>'}).
|
|
76
|
+
when('/#{@plural_model_name}/:id/edit', {controller:#{@controller}EditCtrl,
|
|
77
|
+
templateUrl:'<%= asset_path("#{@plural_model_name}/edit.html") %>'}).}, :before => 'otherwise'
|
|
78
|
+
# end
|
|
79
|
+
|
|
80
|
+
inject_into_class "app/controllers/#{@plural_model_name}_controller.rb",
|
|
81
|
+
"#{@controller}Controller".constantize, "respond_to :json\n"
|
|
82
|
+
|
|
83
|
+
template "new.html.erb",
|
|
84
|
+
"app/assets/templates/#{@plural_model_name}/new.html.erb"
|
|
85
|
+
template "edit.html.erb",
|
|
86
|
+
"app/assets/templates/#{@plural_model_name}/edit.html.erb"
|
|
87
|
+
template "show.html.erb",
|
|
88
|
+
"app/assets/templates/#{@plural_model_name}/show.html.erb"
|
|
89
|
+
template "index.html.erb",
|
|
90
|
+
"app/assets/templates/#{@plural_model_name}/index.html.erb"
|
|
91
|
+
|
|
92
|
+
model_index_link = "\n<li><%= link_to \'#{@controller_name}\', #{@plural_model_name}_path %></li>"
|
|
93
|
+
|
|
94
|
+
# insert_into_file "app/views/layouts/application.html.erb", model_index_link,
|
|
95
|
+
# after: "<!-- sidebar menu models -->"
|
|
96
|
+
|
|
97
|
+
insert_into_file "app/views/layouts/application.html.erb", model_index_link,
|
|
98
|
+
after: "<!-- main menu models -->"
|
|
99
|
+
|
|
100
|
+
# if language_option == 'coffeescript'
|
|
101
|
+
# remove_file "app/assets/javascripts/#{@plural_model_name}.js"
|
|
102
|
+
# remove_file "app/assets/javascripts/#{@plural_model_name}_controller.js"
|
|
103
|
+
# template "plural_model_name.js.coffee", "app/assets/javascripts/#{@plural_model_name}.js.coffee"
|
|
104
|
+
# template "plural_model_name_controller.js.coffee",
|
|
105
|
+
# "app/assets/javascripts/#{@plural_model_name}_controller.js.coffee"
|
|
106
|
+
# else
|
|
107
|
+
# remove_file "app/assets/javascripts/#{@plural_model_name}.js.coffee"
|
|
108
|
+
# remove_file "app/assets/javascripts/#{@plural_model_name}_controller.js.coffee"
|
|
109
|
+
template "plural_model_name.js", "app/assets/javascripts/angular-app/service/#{@plural_model_name}.js"
|
|
110
|
+
template "plural_model_name_controller.js",
|
|
111
|
+
"app/assets/javascripts/angular-app/controller/#{@plural_model_name}_controller.js"
|
|
112
|
+
# remove the default .js.coffee file added by rails.
|
|
113
|
+
# remove_file "app/assets/javascripts/#{@plural_model_name}.js.coffee"
|
|
114
|
+
# end
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<form name="edit<%= @model_name%>">
|
|
2
|
+
<fieldset>
|
|
3
|
+
<legend>
|
|
4
|
+
Edit <%= @model_name.titleize %>
|
|
5
|
+
</legend>
|
|
6
|
+
<%- columns.each do |column| -%>
|
|
7
|
+
<div class="control-group">
|
|
8
|
+
<label class="control-label">
|
|
9
|
+
<%= column.name.titleize %>
|
|
10
|
+
</label>
|
|
11
|
+
<div class="controls">
|
|
12
|
+
<%- if ['description', 'body'].include? column.name -%>
|
|
13
|
+
<textarea name="<%= @resource_name%>[<%= column.name %>]"
|
|
14
|
+
ng-model="<%= @resource_name%>.<%= column.name %>"
|
|
15
|
+
class="<%= column.field_type %>"
|
|
16
|
+
required></textarea>
|
|
17
|
+
<%- else -%>
|
|
18
|
+
<input type="<%= column.field_type.to_s.split('_').first %>"
|
|
19
|
+
name="<%= @resource_name%>[<%= column.name %>]"
|
|
20
|
+
ng-model="<%= @resource_name%>.<%= column.name %>"
|
|
21
|
+
class="<%= column.field_type %>"
|
|
22
|
+
required>
|
|
23
|
+
<%- end -%>
|
|
24
|
+
<span ng-show="edit<%= @model_name%>.<%= column.name %>.$error.required"
|
|
25
|
+
class="help-inline">
|
|
26
|
+
Required
|
|
27
|
+
</span>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
<%- end -%>
|
|
31
|
+
<div class="form-actions">
|
|
32
|
+
<button class="btn btn-success" ng-click="save()"
|
|
33
|
+
ng-disabled="isClean() || edit<%= @model_name%>.$invalid">
|
|
34
|
+
Save
|
|
35
|
+
</button>
|
|
36
|
+
<button ng-click="destroy()"
|
|
37
|
+
ng-show="<%= @resource_name%>.id"
|
|
38
|
+
class="btn btn-danger">
|
|
39
|
+
<i class="icon-trash"></i>Delete
|
|
40
|
+
</button>
|
|
41
|
+
<a href="/<%= @plural_model_name%>" class="btn">
|
|
42
|
+
Back to <%= @plural_model_name%>
|
|
43
|
+
</a>
|
|
44
|
+
</div>
|
|
45
|
+
</fieldset>
|
|
46
|
+
</form>
|
|
47
|
+
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<h1><%= @controller %></h1>
|
|
2
|
+
<table class="table table-striped">
|
|
3
|
+
<thead>
|
|
4
|
+
<tr>
|
|
5
|
+
<%- columns.each do |column| -%>
|
|
6
|
+
<th><%= column.name.humanize %></th>
|
|
7
|
+
<%- end -%>
|
|
8
|
+
<th>Actions</th>
|
|
9
|
+
</tr>
|
|
10
|
+
</thead>
|
|
11
|
+
<%- @columns = columns -%>
|
|
12
|
+
<%- tag_column = @columns.shift -%>
|
|
13
|
+
<tbody>
|
|
14
|
+
<tr ng-repeat="<%= @resource_name%> in <%= @plural_model_name%>">
|
|
15
|
+
<td>
|
|
16
|
+
<a href="/<%= @plural_model_name%>/{{<%= @resource_name%>.id}}">
|
|
17
|
+
{{<%= "#{@resource_name}.#{tag_column.name}"%>}}
|
|
18
|
+
</a>
|
|
19
|
+
</td>
|
|
20
|
+
<%- @columns.each do |column| -%>
|
|
21
|
+
<td>
|
|
22
|
+
{{<%= @resource_name%>.<%= column.name %>}}
|
|
23
|
+
</td>
|
|
24
|
+
<%- end -%>
|
|
25
|
+
<td>
|
|
26
|
+
<a href="/<%= @plural_model_name%>/{{<%= @resource_name%>.id}}/edit"
|
|
27
|
+
class="btn btn-primary"><i class="icon-edit"></i>
|
|
28
|
+
Edit
|
|
29
|
+
</a>
|
|
30
|
+
<button ng-click="destroy()" class="btn btn-danger">
|
|
31
|
+
<i class="icon-trash"></i> Delete
|
|
32
|
+
</button>
|
|
33
|
+
</td>
|
|
34
|
+
</tr>
|
|
35
|
+
</tbody>
|
|
36
|
+
</table>
|
|
37
|
+
|
|
38
|
+
<p>
|
|
39
|
+
<a href='/<%= @plural_model_name%>/new' class="btn btn-primary">
|
|
40
|
+
<i class="icon-plus"></i>New
|
|
41
|
+
</a>
|
|
42
|
+
</p>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<form name="new<%= @model_name%>">
|
|
2
|
+
<fieldset>
|
|
3
|
+
<legend>
|
|
4
|
+
New <%= @model_name.titleize %>
|
|
5
|
+
</legend>
|
|
6
|
+
<%- columns.each do |column| -%>
|
|
7
|
+
<div class="control-group">
|
|
8
|
+
<label class="control-label">
|
|
9
|
+
<%= column.name.titleize %>
|
|
10
|
+
</label>
|
|
11
|
+
<div class="controls">
|
|
12
|
+
<%- if ['description', 'body'].include? column.name -%>
|
|
13
|
+
<textarea name="<%= @resource_name%>[<%= column.name %>]"
|
|
14
|
+
ng-model="<%= @resource_name%>.<%= column.name %>"
|
|
15
|
+
class="<%= column.field_type %>"
|
|
16
|
+
required></textarea>
|
|
17
|
+
<%- else -%>
|
|
18
|
+
<input type="<%= column.field_type.to_s.split('_').first %>"
|
|
19
|
+
name="<%= @resource_name%>[<%= column.name %>]"
|
|
20
|
+
ng-model="<%= @resource_name%>.<%= column.name %>"
|
|
21
|
+
class="<%= column.field_type %>"
|
|
22
|
+
required>
|
|
23
|
+
<%- end -%>
|
|
24
|
+
<span ng-show="new<%= @model_name%>.<%= column.name %>.$error.required"
|
|
25
|
+
class="help-inline">
|
|
26
|
+
Required
|
|
27
|
+
</span>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
<%- end -%>
|
|
31
|
+
<div class="form-actions">
|
|
32
|
+
<button class="btn btn-success" ng-click="save()"
|
|
33
|
+
ng-disabled="isClean() || new<%= @model_name%>.$invalid">
|
|
34
|
+
<i class="icon-save"></i> Save
|
|
35
|
+
</button>
|
|
36
|
+
<button ng-click="destroy()"
|
|
37
|
+
ng-show="<%= @resource_name%>.id"
|
|
38
|
+
class="btn btn-danger">
|
|
39
|
+
<i class="icon-trash"></i> Delete
|
|
40
|
+
</button>
|
|
41
|
+
<a href="/<%= @plural_model_name%>" class="btn">Back to <%= @plural_model_name%></a>
|
|
42
|
+
</div>
|
|
43
|
+
</fieldset>
|
|
44
|
+
</form>
|
|
45
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
angular.module("<%= @plural_model_name %>", ["ngResource"]).
|
|
2
|
+
factory("<%= @model_name %>", ['$resource', function($resource) {
|
|
3
|
+
var <%= @model_name %>;
|
|
4
|
+
<%= @model_name %> = $resource("/<%= @plural_model_name %>/:id.json",
|
|
5
|
+
{ id: "@id" },
|
|
6
|
+
{
|
|
7
|
+
update: { method: "PUT" },
|
|
8
|
+
destroy: { method: "DELETE" }
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
<%= @model_name %>.prototype.destroy = function(cb) {
|
|
12
|
+
return <%= @model_name %>.remove({
|
|
13
|
+
id: this.id
|
|
14
|
+
}, cb);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
return <%= @model_name %>;
|
|
18
|
+
}
|
|
19
|
+
]);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
root = global ? window
|
|
2
|
+
|
|
3
|
+
angular.module("<%= @plural_model_name %>", ["ngResource"]).factory "<%= @model_name %>", ['$resource', ($resource) ->
|
|
4
|
+
<%= "#{@model_name}" %> = $resource("/<%= @plural_model_name %>/:id",
|
|
5
|
+
id: "@id"
|
|
6
|
+
,
|
|
7
|
+
update:
|
|
8
|
+
method: "PUT"
|
|
9
|
+
|
|
10
|
+
destroy:
|
|
11
|
+
method: "DELETE"
|
|
12
|
+
)
|
|
13
|
+
<%= "#{@model_name}" %>::destroy = (cb) ->
|
|
14
|
+
<%= "#{@model_name}" %>.remove
|
|
15
|
+
id: @id
|
|
16
|
+
, cb
|
|
17
|
+
|
|
18
|
+
<%= "#{@model_name}" %>
|
|
19
|
+
]
|
|
20
|
+
root.angular = angular
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<%= @controller %>IndexCtrl = function($scope, <%= @model_name %>) {
|
|
2
|
+
$scope.<%= @plural_model_name %> = <%= @model_name %>.query();
|
|
3
|
+
|
|
4
|
+
return $scope.destroy = function() {
|
|
5
|
+
var original;
|
|
6
|
+
if (confirm("Are you sure?")) {
|
|
7
|
+
original = this.<%= @resource_name %>;
|
|
8
|
+
return this.<%= @resource_name %>.destroy(function() {
|
|
9
|
+
return $scope.<%= @plural_model_name %> = _.without($scope.<%= @plural_model_name %>, original);
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
<%= @controller %>IndexCtrl.$inject = ['$scope', '<%= @model_name %>'];
|
|
16
|
+
|
|
17
|
+
<%= @controller %>CreateCtrl = function($scope, $location, <%= @model_name %>) {
|
|
18
|
+
return $scope.save = function() {
|
|
19
|
+
return <%= @model_name %>.save($scope.<%= @resource_name %>, function(<%= @resource_name %>) {
|
|
20
|
+
return $location.path("/<%= @plural_model_name %>/" + <%= @resource_name %>.id + "/edit");
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
<%= @controller %>CreateCtrl.$inject = ['$scope', '$location', '<%= @model_name %>'];
|
|
26
|
+
|
|
27
|
+
<%= @controller %>ShowCtrl = function($scope, $location, $routeParams, <%= @model_name %>) {
|
|
28
|
+
<%= @model_name %>.get({
|
|
29
|
+
id: $routeParams.id
|
|
30
|
+
}, function(<%= @resource_name %>) {
|
|
31
|
+
this.original = <%= @resource_name %>;
|
|
32
|
+
return $scope.<%= @resource_name %> = new <%= @model_name %>(this.original);
|
|
33
|
+
});
|
|
34
|
+
return $scope.destroy = function() {
|
|
35
|
+
if (confirm("Are you sure?")) {
|
|
36
|
+
return $scope.<%= @resource_name %>.destroy(function() {
|
|
37
|
+
return $location.path("/<%= @plural_model_name %>");
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
<%= @controller %>ShowCtrl.$inject = ['$scope', '$location', '$routeParams', '<%= @model_name %>'];
|
|
44
|
+
|
|
45
|
+
<%= @controller %>EditCtrl = function($scope, $location, $routeParams, <%= @model_name %>) {
|
|
46
|
+
<%= @model_name %>.get({
|
|
47
|
+
id: $routeParams.id
|
|
48
|
+
}, function(<%= @resource_name %>) {
|
|
49
|
+
this.original = <%= @resource_name %>;
|
|
50
|
+
return $scope.<%= @resource_name %> = new <%= @model_name %>(this.original);
|
|
51
|
+
});
|
|
52
|
+
$scope.isClean = function() {
|
|
53
|
+
return angular.equals(this.original, $scope.<%= @resource_name %>);
|
|
54
|
+
};
|
|
55
|
+
$scope.destroy = function() {
|
|
56
|
+
if (confirm("Are you sure?")) {
|
|
57
|
+
return $scope.<%= @resource_name %>.destroy(function() {
|
|
58
|
+
return $location.path("/<%= @plural_model_name %>");
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
return $scope.save = function() {
|
|
63
|
+
return <%= @model_name %>.update($scope.<%= @resource_name %>, function(<%= @resource_name %>) {
|
|
64
|
+
return $location.path("/<%= @plural_model_name %>");
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
<%= @controller %>EditCtrl.$inject = ['$scope', '$location', '$routeParams', '<%= @model_name %>'];
|
|
70
|
+
|
|
71
|
+
|
data/lib/generators/angular_scaffold/scaffold/templates/plural_model_name_controller.js.coffee
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
|
|
2
|
+
root = global ? window
|
|
3
|
+
|
|
4
|
+
<%= @controller %>IndexCtrl = ($scope, <%= @model_name %>) ->
|
|
5
|
+
$scope.<%= @plural_model_name %> = <%= @model_name %>.query()
|
|
6
|
+
|
|
7
|
+
$scope.destroy = ->
|
|
8
|
+
if confirm("Are you sure?")
|
|
9
|
+
original = @<%= @resource_name %>
|
|
10
|
+
@<%= @resource_name %>.destroy ->
|
|
11
|
+
$scope.<%= @plural_model_name %> = _.without($scope.<%= @plural_model_name %>, original)
|
|
12
|
+
|
|
13
|
+
<%= @controller %>IndexCtrl.$inject = ['$scope', '<%= @model_name %>'];
|
|
14
|
+
|
|
15
|
+
<%= @controller %>CreateCtrl = ($scope, $location, <%= @model_name %>) ->
|
|
16
|
+
$scope.save = ->
|
|
17
|
+
<%= @model_name %>.save $scope.<%= @resource_name %>, (<%= @resource_name %>) ->
|
|
18
|
+
$location.path "/<%= @plural_model_name %>/#{<%= @resource_name %>.id}/edit"
|
|
19
|
+
|
|
20
|
+
<%= @controller %>CreateCtrl.$inject = ['$scope', '$location', '<%= @model_name %>'];
|
|
21
|
+
|
|
22
|
+
<%= @controller %>ShowCtrl = ($scope, $location, $routeParams, <%= @model_name %>) ->
|
|
23
|
+
<%= @model_name %>.get
|
|
24
|
+
id: $routeParams.id
|
|
25
|
+
, (<%= @resource_name %>) ->
|
|
26
|
+
@original = <%= @resource_name %>
|
|
27
|
+
$scope.<%= @resource_name %> = new <%= @model_name %>(@original)
|
|
28
|
+
|
|
29
|
+
$scope.destroy = ->
|
|
30
|
+
if confirm("Are you sure?")
|
|
31
|
+
$scope.<%= @resource_name %>.destroy ->
|
|
32
|
+
$location.path "/<%= @plural_model_name %>"
|
|
33
|
+
|
|
34
|
+
<%= @controller %>ShowCtrl.$inject = ['$scope', '$location', '$routeParams', '<%= @model_name %>'];
|
|
35
|
+
|
|
36
|
+
<%= @controller %>EditCtrl = ($scope, $location, $routeParams, <%= @model_name %>) ->
|
|
37
|
+
<%= @model_name %>.get
|
|
38
|
+
id: $routeParams.id
|
|
39
|
+
, (<%= @resource_name %>) ->
|
|
40
|
+
@original = <%= @resource_name %>
|
|
41
|
+
$scope.<%= @resource_name %> = new <%= @model_name %>(@original)
|
|
42
|
+
|
|
43
|
+
$scope.isClean = ->
|
|
44
|
+
console.log "[<%= @controller %>EditCtrl, $scope.isClean]"
|
|
45
|
+
angular.equals @original, $scope.<%= @resource_name %>
|
|
46
|
+
|
|
47
|
+
$scope.destroy = ->
|
|
48
|
+
if confirm("Are you sure?")
|
|
49
|
+
$scope.<%= @resource_name %>.destroy ->
|
|
50
|
+
$location.path "/<%= @plural_model_name %>"
|
|
51
|
+
|
|
52
|
+
$scope.save = ->
|
|
53
|
+
<%= @model_name %>.update $scope.<%= @resource_name %>, (<%= @resource_name %>) ->
|
|
54
|
+
$location.path "/<%= @plural_model_name %>"
|
|
55
|
+
|
|
56
|
+
<%= @controller %>EditCtrl.$inject = ['$scope', '$location', '$routeParams', '<%= @model_name %>'];
|
|
57
|
+
|
|
58
|
+
# exports
|
|
59
|
+
root.<%= @controller %>IndexCtrl = <%= @controller %>IndexCtrl
|
|
60
|
+
root.<%= @controller %>CreateCtrl = <%= @controller %>CreateCtrl
|
|
61
|
+
root.<%= @controller %>ShowCtrl = <%= @controller %>ShowCtrl
|
|
62
|
+
root.<%= @controller %>EditCtrl = <%= @controller %>EditCtrl
|