puffer 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. data/VERSION +1 -1
  2. data/app/cells/puffer/base/additional.html.erb +13 -5
  3. data/app/helpers/puffer_helper.rb +6 -1
  4. data/app/views/layouts/puffer.html.erb +5 -3
  5. data/app/views/puffer/_form.html.erb +1 -1
  6. data/app/views/puffer/associated/one.js.erb +9 -0
  7. data/app/views/puffer/edit.html.erb +1 -1
  8. data/app/views/puffer/index.html.erb +7 -7
  9. data/app/views/puffer/new.html.erb +1 -1
  10. data/app/views/puffer/show.html.erb +4 -4
  11. data/lib/generators/puffer/install/templates/puffer/javascripts/application.js +10 -0
  12. data/lib/generators/puffer/install/templates/puffer/javascripts/rails-src.js +36 -378
  13. data/lib/generators/puffer/install/templates/puffer/javascripts/right-autocompleter-src.js +621 -0
  14. data/lib/generators/puffer/install/templates/puffer/javascripts/right-autocompleter.js +18 -0
  15. data/lib/generators/puffer/install/templates/puffer/javascripts/right-autocompleter.js.gz +0 -0
  16. data/lib/generators/puffer/install/templates/puffer/stylesheets/puffer.css +107 -6
  17. data/lib/puffer/base.rb +4 -3
  18. data/lib/puffer/controller/actions.rb +4 -70
  19. data/lib/puffer/controller/dsl.rb +23 -5
  20. data/lib/puffer/controller/generated.rb +65 -0
  21. data/lib/puffer/extensions/activerecord.rb +3 -3
  22. data/lib/puffer/extensions/core.rb +14 -0
  23. data/lib/puffer/extensions/mapper.rb +20 -0
  24. data/lib/puffer/fields.rb +11 -2
  25. data/lib/puffer/fields/field.rb +24 -1
  26. data/lib/puffer/inputs.rb +1 -3
  27. data/lib/puffer/inputs/association.rb +27 -1
  28. data/lib/puffer/inputs/base.rb +12 -4
  29. data/lib/puffer/inputs/boolean.rb +1 -1
  30. data/lib/puffer/inputs/date_time.rb +1 -1
  31. data/lib/puffer/resource.rb +1 -1
  32. data/lib/puffer/resource/routing.rb +2 -2
  33. data/lib/puffer/resource/scoping.rb +5 -1
  34. data/puffer.gemspec +15 -5
  35. data/spec/dummy/app/controllers/admin/profiles_controller.rb +2 -2
  36. data/spec/dummy/app/views/admin/users/index.html.erb +3 -1
  37. data/spec/dummy/config/database.yml +1 -1
  38. data/spec/dummy/public/puffer/javascripts/application.js +10 -0
  39. data/spec/dummy/public/puffer/javascripts/rails-src.js +36 -378
  40. data/spec/dummy/public/puffer/javascripts/right-autocompleter-src.js +621 -0
  41. data/spec/dummy/public/puffer/javascripts/right-autocompleter.js +18 -0
  42. data/spec/dummy/public/puffer/javascripts/right-autocompleter.js.gz +0 -0
  43. data/spec/dummy/public/puffer/stylesheets/puffer.css +107 -6
  44. data/spec/lib/extensions/core_spec.rb +29 -0
  45. data/spec/lib/resource/routing_spec.rb +11 -11
  46. metadata +28 -18
  47. data/lib/generators/puffer/install/templates/puffer/javascripts/rails.js +0 -14
  48. data/spec/dummy/public/puffer/javascripts/rails.js +0 -14
@@ -1,14 +0,0 @@
1
- /**
2
- * The Ruby On Rails plugin for RightJS
3
- * http://github.com/MadRabbit/right-rails
4
- *
5
- * Copyright (C) 2009-2010 Nikolay Nemshilov
6
- */
7
- (function(i,j,e){var f=e.$,l=e.$$,o=e.$E,m=e.Xhr,p=e.Object;e([e.String.prototype,e.Array.prototype,e.Function.prototype,e.Object,e.Options,e.Observer,e.Observer.prototype,i,j]).each(function(a){for(var b in a)try{if(/[A-Z]/.test(b)&&typeof a[b]==="function"){var c=e(b).underscored();if(a[c]===null||a[c]===undefined)a[c]=a[b]}}catch(d){}});e([e.Element,e.Event,e.Form,e.Input]).each(function(a){if(a){var b=a.prototype;for(var c in b)if(/[A-Z]/.test(c)&&typeof b[c]==="function")a.prototype[e(c).underscored()]=
8
- b[c]}});e.$alias(e.String.prototype,{index_of:"indexOf",last_index_of:"lastIndexOf",to_f:"toFloat",to_i:"toInt",gsub:"replace",downcase:"toLowerCase",upcase:"toUpperCase",index:"indexOf",rindex:"lastIndexOf",strip:"trim"});e.$alias(e.Array.prototype,{collect:"map",detect:"filter",index_of:"indexOf",last_index_of:"lastIndexOf",index:"indexOf",rindex:"lastIndexOf"});(function(){var a=function(c,d){var g=d.get("data-confirm");if(g&&!confirm(g)){c.stop();return true}},b=function(c,d){return p.merge({onCreate:function(){c.fire("ajax:loading",
9
- this)},onComplete:function(){c.fire("ajax:complete",this)},onSuccess:function(){c.fire("ajax:success",this)},onFailure:function(){c.fire("ajax:failure",this)}},d)};f(j).on({click:function(c){var d=c.target._.tagName;if(d==="A"||d==="BUTTON"){var g=c.target;d=g.get("data-method");var n=g.get("data-remote"),h=g.get("href");if(!a(c,g)){if(d||n)c.stop();if(n)m.load(h,b(g,{method:d||"get",spinner:g.get("data-spinner")}));else if(d){c=l("meta[name=csrf-param]")[0];g=l("meta[name=csrf-token]")[0];h=o("form",
10
- {action:h,method:"post"});c&&g&&h.insert('<input type="hidden" name="'+c.get("content")+'" value="'+g.get("content")+'" />');h.insert('<input type="hidden" name="_method" value="'+d+'"/>').insertTo(j.body).submit()}}}},submit:function(c){var d=c.target;if(d.has("data-remote")&&!a(c,d)){c.stop();d.send(b(d,{spinner:d.get("data-spinner")||d.first(".spinner")}))}}})})();var k={Options:{format:"js",flashId:"flashes",flashHideFx:"slide",flashHideDelay:3200,highlightUpdates:true,removeFx:"fade",insertFx:"fade",
11
- insertPosition:"bottom",linkToAjaxEdit:".ajax_edit",linkToAjaxDelete:".ajax_delete",rescanWithScopes:true},update_flash:function(a){var b=f(this.Options.flashId);b&&this.replace(b,a).hide_flash();return this},hide_flash:function(){if(this.Options.flashHideDelay>-1){var a=f(this.Options.flashId);a&&a.visible()&&a.hide.bind(a,this.Options.flashHideFx).delay(this.Options.flashHideDelay)}return this},highlight:function(a){f(a)&&this.Options.highlightUpdates&&f(a).highlight();return this},insert:function(a,
12
- b,c){c=c||this.Options.insertPosition;var d;b=f(a).insert(b,c);switch(c){case "bottom":d=b.children().last();break;case "top":d=b.first();break;case "before":d=b.prev();break;case "after":d=b.next();break}d&&this.Options.insertFx?d.hide().show(this.Options.insertFx,{onFinish:this.highlight.bind(this,d)}):this.highlight(d);return this.rescan(a)},replace:function(a,b){f(a).replace(b);return this.highlight(a).rescan(a)},remove:function(a){f(a)&&f(a).remove(this.Options.removeFx)},remotize_form:function(a){if(a=
13
- f(a))a.remotize().enable()._.action+="."+this.Options.format;return this},replace_form:function(a,b){var c=f(a);if(c){c.replace(b);this.remotize_form(a)}return this.rescan(a)},show_form_for:function(a,b){f(a).select("form").each("remove");f(a).insert(b);return this.remotize_form(f(a).first("form")).rescan(a)},process_click:function(a){var b;if(b=a.find("a"+this.Options.linkToAjaxEdit)){a.stop();m.load(b.get("href")+"."+this.Options.format)}else if((b=a.find("a"+this.Options.linkToAjaxDelete))&&b.has("onclick")){a.stop();
14
- eval("({f:"+b.onclick.toString().replace(".submit",".send")+"})").f.call(b)}},rescan:function(a){$w("Draggable Droppable Tabs Slider Selectable").each(function(b){if(b in i)i[b].rescan(this.Options.rescanWithScopes?a:null)},this);return this}};f(j).on({ready:function(){k.hide_flash()},click:function(a){k.process_click(a)}});i.RR=k})(window,document,RightJS);
@@ -1,14 +0,0 @@
1
- /**
2
- * The Ruby On Rails plugin for RightJS
3
- * http://github.com/MadRabbit/right-rails
4
- *
5
- * Copyright (C) 2009-2010 Nikolay Nemshilov
6
- */
7
- (function(i,j,e){var f=e.$,l=e.$$,o=e.$E,m=e.Xhr,p=e.Object;e([e.String.prototype,e.Array.prototype,e.Function.prototype,e.Object,e.Options,e.Observer,e.Observer.prototype,i,j]).each(function(a){for(var b in a)try{if(/[A-Z]/.test(b)&&typeof a[b]==="function"){var c=e(b).underscored();if(a[c]===null||a[c]===undefined)a[c]=a[b]}}catch(d){}});e([e.Element,e.Event,e.Form,e.Input]).each(function(a){if(a){var b=a.prototype;for(var c in b)if(/[A-Z]/.test(c)&&typeof b[c]==="function")a.prototype[e(c).underscored()]=
8
- b[c]}});e.$alias(e.String.prototype,{index_of:"indexOf",last_index_of:"lastIndexOf",to_f:"toFloat",to_i:"toInt",gsub:"replace",downcase:"toLowerCase",upcase:"toUpperCase",index:"indexOf",rindex:"lastIndexOf",strip:"trim"});e.$alias(e.Array.prototype,{collect:"map",detect:"filter",index_of:"indexOf",last_index_of:"lastIndexOf",index:"indexOf",rindex:"lastIndexOf"});(function(){var a=function(c,d){var g=d.get("data-confirm");if(g&&!confirm(g)){c.stop();return true}},b=function(c,d){return p.merge({onCreate:function(){c.fire("ajax:loading",
9
- this)},onComplete:function(){c.fire("ajax:complete",this)},onSuccess:function(){c.fire("ajax:success",this)},onFailure:function(){c.fire("ajax:failure",this)}},d)};f(j).on({click:function(c){var d=c.target._.tagName;if(d==="A"||d==="BUTTON"){var g=c.target;d=g.get("data-method");var n=g.get("data-remote"),h=g.get("href");if(!a(c,g)){if(d||n)c.stop();if(n)m.load(h,b(g,{method:d||"get",spinner:g.get("data-spinner")}));else if(d){c=l("meta[name=csrf-param]")[0];g=l("meta[name=csrf-token]")[0];h=o("form",
10
- {action:h,method:"post"});c&&g&&h.insert('<input type="hidden" name="'+c.get("content")+'" value="'+g.get("content")+'" />');h.insert('<input type="hidden" name="_method" value="'+d+'"/>').insertTo(j.body).submit()}}}},submit:function(c){var d=c.target;if(d.has("data-remote")&&!a(c,d)){c.stop();d.send(b(d,{spinner:d.get("data-spinner")||d.first(".spinner")}))}}})})();var k={Options:{format:"js",flashId:"flashes",flashHideFx:"slide",flashHideDelay:3200,highlightUpdates:true,removeFx:"fade",insertFx:"fade",
11
- insertPosition:"bottom",linkToAjaxEdit:".ajax_edit",linkToAjaxDelete:".ajax_delete",rescanWithScopes:true},update_flash:function(a){var b=f(this.Options.flashId);b&&this.replace(b,a).hide_flash();return this},hide_flash:function(){if(this.Options.flashHideDelay>-1){var a=f(this.Options.flashId);a&&a.visible()&&a.hide.bind(a,this.Options.flashHideFx).delay(this.Options.flashHideDelay)}return this},highlight:function(a){f(a)&&this.Options.highlightUpdates&&f(a).highlight();return this},insert:function(a,
12
- b,c){c=c||this.Options.insertPosition;var d;b=f(a).insert(b,c);switch(c){case "bottom":d=b.children().last();break;case "top":d=b.first();break;case "before":d=b.prev();break;case "after":d=b.next();break}d&&this.Options.insertFx?d.hide().show(this.Options.insertFx,{onFinish:this.highlight.bind(this,d)}):this.highlight(d);return this.rescan(a)},replace:function(a,b){f(a).replace(b);return this.highlight(a).rescan(a)},remove:function(a){f(a)&&f(a).remove(this.Options.removeFx)},remotize_form:function(a){if(a=
13
- f(a))a.remotize().enable()._.action+="."+this.Options.format;return this},replace_form:function(a,b){var c=f(a);if(c){c.replace(b);this.remotize_form(a)}return this.rescan(a)},show_form_for:function(a,b){f(a).select("form").each("remove");f(a).insert(b);return this.remotize_form(f(a).first("form")).rescan(a)},process_click:function(a){var b;if(b=a.find("a"+this.Options.linkToAjaxEdit)){a.stop();m.load(b.get("href")+"."+this.Options.format)}else if((b=a.find("a"+this.Options.linkToAjaxDelete))&&b.has("onclick")){a.stop();
14
- eval("({f:"+b.onclick.toString().replace(".submit",".send")+"})").f.call(b)}},rescan:function(a){$w("Draggable Droppable Tabs Slider Selectable").each(function(b){if(b in i)i[b].rescan(this.Options.rescanWithScopes?a:null)},this);return this}};f(j).on({ready:function(){k.hide_flash()},click:function(a){k.process_click(a)}});i.RR=k})(window,document,RightJS);