puffer 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/app/cells/puffer/base/additional.html.erb +13 -5
- data/app/helpers/puffer_helper.rb +6 -1
- data/app/views/layouts/puffer.html.erb +5 -3
- data/app/views/puffer/_form.html.erb +1 -1
- data/app/views/puffer/associated/one.js.erb +9 -0
- data/app/views/puffer/edit.html.erb +1 -1
- data/app/views/puffer/index.html.erb +7 -7
- data/app/views/puffer/new.html.erb +1 -1
- data/app/views/puffer/show.html.erb +4 -4
- data/lib/generators/puffer/install/templates/puffer/javascripts/application.js +10 -0
- data/lib/generators/puffer/install/templates/puffer/javascripts/rails-src.js +36 -378
- data/lib/generators/puffer/install/templates/puffer/javascripts/right-autocompleter-src.js +621 -0
- data/lib/generators/puffer/install/templates/puffer/javascripts/right-autocompleter.js +18 -0
- data/lib/generators/puffer/install/templates/puffer/javascripts/right-autocompleter.js.gz +0 -0
- data/lib/generators/puffer/install/templates/puffer/stylesheets/puffer.css +107 -6
- data/lib/puffer/base.rb +4 -3
- data/lib/puffer/controller/actions.rb +4 -70
- data/lib/puffer/controller/dsl.rb +23 -5
- data/lib/puffer/controller/generated.rb +65 -0
- data/lib/puffer/extensions/activerecord.rb +3 -3
- data/lib/puffer/extensions/core.rb +14 -0
- data/lib/puffer/extensions/mapper.rb +20 -0
- data/lib/puffer/fields.rb +11 -2
- data/lib/puffer/fields/field.rb +24 -1
- data/lib/puffer/inputs.rb +1 -3
- data/lib/puffer/inputs/association.rb +27 -1
- data/lib/puffer/inputs/base.rb +12 -4
- data/lib/puffer/inputs/boolean.rb +1 -1
- data/lib/puffer/inputs/date_time.rb +1 -1
- data/lib/puffer/resource.rb +1 -1
- data/lib/puffer/resource/routing.rb +2 -2
- data/lib/puffer/resource/scoping.rb +5 -1
- data/puffer.gemspec +15 -5
- data/spec/dummy/app/controllers/admin/profiles_controller.rb +2 -2
- data/spec/dummy/app/views/admin/users/index.html.erb +3 -1
- data/spec/dummy/config/database.yml +1 -1
- data/spec/dummy/public/puffer/javascripts/application.js +10 -0
- data/spec/dummy/public/puffer/javascripts/rails-src.js +36 -378
- data/spec/dummy/public/puffer/javascripts/right-autocompleter-src.js +621 -0
- data/spec/dummy/public/puffer/javascripts/right-autocompleter.js +18 -0
- data/spec/dummy/public/puffer/javascripts/right-autocompleter.js.gz +0 -0
- data/spec/dummy/public/puffer/stylesheets/puffer.css +107 -6
- data/spec/lib/extensions/core_spec.rb +29 -0
- data/spec/lib/resource/routing_spec.rb +11 -11
- metadata +28 -18
- data/lib/generators/puffer/install/templates/puffer/javascripts/rails.js +0 -14
- data/spec/dummy/public/puffer/javascripts/rails.js +0 -14
@@ -0,0 +1,18 @@
|
|
1
|
+
/**
|
2
|
+
* RightJS-UI: Autocompleter
|
3
|
+
* http://rightjs.org/ui/autocompleter
|
4
|
+
*
|
5
|
+
* Copyright (C) 2010 Nikolay Nemshilov
|
6
|
+
*/
|
7
|
+
var Autocompleter=RightJS.Autocompleter=function(h,c){function l(a,b,d,e){if(c.Fx)if(d===undefined){d=a.options.fxName;if(e===undefined){e={duration:a.options.fxDuration,onFinish:c(a.fire).bind(a,b)};if(b==="hide")e.duration=(c.Fx.Durations[e.duration]||e.duration)/2}}if(!c.Fx||!d)a.fire(b);return a.$super(d,e)}function m(a,b,d){var e=(this.reAnchor||(this.reAnchor=new c.Element("div",{"class":"rui-re-anchor"})).insert(this)).insertTo(a,"after").position(),f=a.dimensions(),i=parseInt(a.getStyle("borderTopWidth")),
|
8
|
+
j=parseInt(a.getStyle("borderLeftWidth")),q=parseInt(a.getStyle("borderRightWidth")),r=parseInt(a.getStyle("borderBottomWidth"));a=f.top-e.y+i;e=f.left-e.x+j;j=f.width-j-q;f=f.height-i-r;this.setStyle("visibility:hidden").show(null);if(b==="right")e+=j-this.size().x;else a+=f;this.moveTo(e,a);if(d)b==="left"||b==="right"?this.setHeight(f):this.setWidth(j);this.setStyle("visibility:visible").hide(null)}var g=c,n=c.$,s=c.$w,t=c.Xhr,o=c.RegExp,u=c.isArray,p=new c.Class(c.Element,{initialize:function(a){this.$super("div",
|
9
|
+
{"class":"rui-spinner"});this.dots=[];for(var b=0;b<(a||4);b++)this.dots.push(new c.Element("div"));this.dots[0].addClass("glowing");this.insert(this.dots);c(this.shift).bind(this).periodical(300)},shift:function(){if(this.visible()){var a=this.dots.pop();this.dots.unshift(a);this.insert(a,"top")}}}),k=new (function(a,b){if(!b){b=a;a="DIV"}var d=new c.Class(c.Element.Wrappers[a]||c.Element,{initialize:function(e,f){this.key=e;var i=[{"class":"rui-"+e}];this instanceof c.Input||this instanceof c.Form||
|
10
|
+
i.unshift(a);this.$super.apply(this,i);if(c.isString(f))f=c.$(f);if(f instanceof c.Element){this._=f._;if("$listeners"in f)f.$listeners=f.$listeners;f={}}this.setOptions(f,this);return c.Wrapper.Cache[c.$uid(this._)]=this},setOptions:function(e,f){f=f||this;c.Options.setOptions.call(this,c.Object.merge(e,eval("("+(f.get("data-"+this.key)||"{}")+")")));return this}});d=new c.Class(d,b);c.Observer.createShortcuts(d.prototype,d.EVENTS||[]);return d})("UL",{include:{show:function(a,b){this.constructor.current=
|
11
|
+
this;return l(this,"show",a,b)},hide:function(a,b){this.constructor.current=null;return l(this,"show",a,b)},showAt:function(a,b,d){this.hide(null).shownAt=a=c.$(a);m.call(this,a,b,d);return this.show()},toggleAt:function(a,b,d){return this.hidden()?this.showAt(a,b,d):this.hide()}},extend:{version:"2.2.0",EVENTS:s("show hide update load select done"),Options:{url:h.location.href,param:"search",method:"get",minLength:1,threshold:200,cache:true,local:null,fxName:"slide",fxDuration:"short",spinner:"native",
|
12
|
+
cssRule:"input[data-autocompleter]"}},initialize:function(a,b){this.input=n(a);this.$super("autocompleter",b).addClass("rui-dd-menu").onMousedown(this.clicked);this.input.autocompleter=this},destroy:function(){delete this.input.autocompleter;return this},prev:function(){return this.pick("prev")},next:function(){return this.pick("next")},done:function(a){if(a=a||this.first("li.current")){a.radioClass("current");this.input.setValue(g(a.html()).stripTags());this.fire("done")}return this.hide()},setOptions:function(a){this.$super(a,
|
13
|
+
this.input);a=this.options;g(a.url).includes("%{search}")||(a.url+=(g(a.url).includes("?")?"&":"?")+a.param+"=%{search}")},pick:function(a){var b=this.children(),d=b.first("hasClass","current"),e=b.indexOf(d);if(a=="prev")d=e<1?b.last():b[e<0?0:e-1];else if(a=="next")d=e<0||e==b.length-1?b.first():b[e+1];return this.fire("select",{item:d.radioClass("current")})},clicked:function(a){this.done(a.stop().find("li"))},keypressed:function(){if(this.input.value().length>=this.options.minLength){this.timeout&&
|
14
|
+
this.timeout.cancel();this.timeout=g(this.trigger).bind(this).delay(this.options.threshold)}else return this.hide()},trigger:function(){this.timeout=null;this.cache=this.cache||{};var a=this.input.value(),b=this.options;if(a.length<b.minLength)return this.hide();if(this.cache[a])this.suggest(this.cache[a],a);else if(u(b.local))this.suggest(this.findLocal(a),a);else this.request=t.load(b.url.replace("%{search}",encodeURIComponent(a)),{method:b.method,spinner:this.getSpinner(),onComplete:g(function(d){this.fire("load").suggest(d.text,
|
15
|
+
a)}).bind(this)})},suggest:function(a,b){if(this.options.cache)this.cache[b]=a;if(g(a).blank())this.hide();else{this.update(a.replace(/<ul[^>]*>|<\/ul>/im,""));this.fire("update");if(!this._connected||this.hidden()){this.showAt(this.input,"bottom","resize");this._connected=true}}return this},findLocal:function(a){var b=new o("("+o.escape(a)+")","ig");return g(this.options.local).map(function(d){if(d.match(b))return"<li>"+d.replace(b,"<strong>$1</strong>")+"</li>"}).compact().join("")},getSpinner:function(){var a=
|
16
|
+
this.options,b=a.spinner;if(b=="native"){b=a.spinner=(new p(3)).insertTo(this);b.addClass("rui-autocompleter-spinner")}b instanceof p&&m.call(b,this.input,"right","resize");return b}});n(h).on({focus:function(a){if((a=a.target)&&a instanceof c.Element&&(a.autocompleter||a.match(k.Options.cssRule)))a.autocompleter||new k(a)},blur:function(a){(a=a.target?a.target.autocompleter:null)&&a.visible()&&a.hide()},keydown:function(a){var b=a.target?a.target.autocompleter:null;if(b&&b.visible()){var d={27:"hide",
|
17
|
+
38:"prev",40:"next",13:"done"}[a.keyCode];if(d){a.stop();b[d]()}}},keyup:function(a){var b=a.target?a.target.autocompleter:null;b&&!g([9,27,37,38,39,40,13]).include(a.keyCode)&&b.keypressed(a)}});(function(){var a=h.createElement("style"),b=h.createTextNode(" *.rui-dd-menu, *.rui-dd-menu li{margin:0;padding:0;border:none;background:none;list-style:none;font-weight:normal;float:none} *.rui-dd-menu{display:none;position:absolute;z-index:9999;background:white;border:1px solid #BBB;border-radius:.2em;-moz-border-radius:.2em;-webkit-border-radius:.2em;box-shadow:#DDD .2em .2em .4em;-moz-box-shadow:#DDD .2em .2em .4em;-webkit-box-shadow:#DDD .2em .2em .4em} *.rui-dd-menu li{padding:.2em .4em;border-top:none;border-bottom:none;cursor:pointer} *.rui-dd-menu li.current{background:#DDD} *.rui-dd-menu li:hover{background:#EEE}dl.rui-dd-menu dt{padding:.3em .5em;cursor:default;font-weight:bold;font-style:italic;color:#444;background:#EEE}dl.rui-dd-menu dd li{padding-left:1.5em}div.rui-spinner,div.rui-spinner div{margin:0;padding:0;border:none;background:none;list-style:none;font-weight:normal;float:none;display:inline-block; *display:inline; *zoom:1;border-radius:.12em;-moz-border-radius:.12em;-webkit-border-radius:.12em}div.rui-spinner{text-align:center;white-space:nowrap;background:#EEE;border:1px solid #DDD;height:1.2em;padding:0 .2em}div.rui-spinner div{width:.4em;height:70%;background:#BBB;margin-left:1px}div.rui-spinner div:first-child{margin-left:0}div.rui-spinner div.glowing{background:#777}div.rui-re-anchor{margin:0;padding:0;background:none;border:none;float:none;display:inline;position:absolute;z-index:9999}.rui-autocompleter{border-top-color:#DDD !important;border-top-left-radius:0 !important;border-top-right-radius:0 !important;-moz-border-radius-topleft:0 !important;-moz-border-radius-topright:0 !important;-webkit-border-top-left-radius:0 !important;-webkit-border-top-right-radius:0 !important}.rui-autocompleter-spinner{border:none !important;background:none !important;position:absolute;z-index:9999}.rui-autocompleter-spinner div{margin-top:.2em !important; *margin-top:0.1em !important}");
|
18
|
+
a.type="text/css";if(a.styleSheet)a.styleSheet.cssText=b.nodeValue;else a.appendChild(b);h.getElementsByTagName("head")[0].appendChild(a)})();return k}(document,RightJS);
|
Binary file
|
@@ -88,7 +88,7 @@ h1
|
|
88
88
|
*display: inline;
|
89
89
|
zoom: 1;
|
90
90
|
color: #ddd;
|
91
|
-
padding:
|
91
|
+
padding: 7px 12px;
|
92
92
|
font-size: 11pt;
|
93
93
|
text-decoration: none;
|
94
94
|
text-shadow: #304759 -1px -1px 0;
|
@@ -120,6 +120,16 @@ h1
|
|
120
120
|
border-bottom-right-radius: 3px;
|
121
121
|
}
|
122
122
|
|
123
|
+
.sidebar .navigation li .additional dt
|
124
|
+
{
|
125
|
+
margin-bottom: 2px;
|
126
|
+
}
|
127
|
+
|
128
|
+
.sidebar .navigation li .additional dd
|
129
|
+
{
|
130
|
+
margin-bottom: 8px;
|
131
|
+
}
|
132
|
+
|
123
133
|
.columns
|
124
134
|
{
|
125
135
|
width: 100%;
|
@@ -170,7 +180,7 @@ h1
|
|
170
180
|
border-top-left-radius: 5px;
|
171
181
|
border-bottom-left-radius: 5px;
|
172
182
|
background: #fff;
|
173
|
-
padding:
|
183
|
+
padding: 30px;
|
174
184
|
}
|
175
185
|
|
176
186
|
.list_table
|
@@ -186,6 +196,11 @@ h1
|
|
186
196
|
-webkit-border-radius: 5px;
|
187
197
|
}
|
188
198
|
|
199
|
+
.list_table *
|
200
|
+
{
|
201
|
+
font-size: 8pt;
|
202
|
+
}
|
203
|
+
|
189
204
|
.list_table tr
|
190
205
|
{
|
191
206
|
vertical-align: top;
|
@@ -258,6 +273,40 @@ h1
|
|
258
273
|
background: #f4f4f4;
|
259
274
|
}
|
260
275
|
|
276
|
+
label, input, textarea
|
277
|
+
{
|
278
|
+
font-family: Helvetica, Arial, sans-serif;
|
279
|
+
}
|
280
|
+
|
281
|
+
input[type=text], input[type=password], textarea
|
282
|
+
{
|
283
|
+
border: #ccc solid 1px;
|
284
|
+
font-size: 11pt;
|
285
|
+
padding: 3px 0;
|
286
|
+
border-radius: 3px;
|
287
|
+
}
|
288
|
+
|
289
|
+
input[type=text]:focus, input[type=password]:focus, textarea:focus
|
290
|
+
{
|
291
|
+
border: #536C80 solid 1px;
|
292
|
+
}
|
293
|
+
|
294
|
+
input[type=submit]
|
295
|
+
{
|
296
|
+
border: 0;
|
297
|
+
border-radius: 3px;
|
298
|
+
background: #536C80;
|
299
|
+
color: #ddd;
|
300
|
+
text-shadow: -1px -1px 0 #304759;
|
301
|
+
padding: 3px 10px;
|
302
|
+
font-size: 11pt;
|
303
|
+
}
|
304
|
+
|
305
|
+
#search
|
306
|
+
{
|
307
|
+
width: 120px;
|
308
|
+
}
|
309
|
+
|
261
310
|
.form
|
262
311
|
{
|
263
312
|
margin-bottom: 30px;
|
@@ -269,21 +318,73 @@ h1
|
|
269
318
|
margin-bottom: 8px;
|
270
319
|
}
|
271
320
|
|
321
|
+
.form li .label
|
322
|
+
{
|
323
|
+
margin-bottom: 3px;
|
324
|
+
}
|
325
|
+
|
326
|
+
.form li .label *
|
327
|
+
{
|
328
|
+
display: inline;
|
329
|
+
}
|
330
|
+
|
272
331
|
.form li label
|
273
332
|
{
|
274
|
-
|
275
|
-
font-size: 11pt;
|
333
|
+
font-size: 10pt;
|
276
334
|
font-weight: bold;
|
277
335
|
}
|
278
336
|
|
279
337
|
.form li input[type=text], .form li input[type=password], .form li textarea
|
280
338
|
{
|
281
|
-
border: #ccc solid 1px;
|
282
339
|
width: 100%;
|
283
|
-
font-size: 12pt;
|
284
340
|
}
|
285
341
|
|
286
342
|
.form li textarea
|
287
343
|
{
|
288
344
|
height: 60px;
|
289
345
|
}
|
346
|
+
|
347
|
+
.field_error
|
348
|
+
{
|
349
|
+
color: #C83E3E;
|
350
|
+
}
|
351
|
+
|
352
|
+
.association
|
353
|
+
{
|
354
|
+
position: relative;
|
355
|
+
}
|
356
|
+
|
357
|
+
.association input[disabled]
|
358
|
+
{
|
359
|
+
text-indent: 25px;
|
360
|
+
}
|
361
|
+
|
362
|
+
.association .association_clear
|
363
|
+
{
|
364
|
+
position: absolute;
|
365
|
+
top: 4px;
|
366
|
+
left: 9px;
|
367
|
+
cursor: pointer;
|
368
|
+
display: none;
|
369
|
+
}
|
370
|
+
|
371
|
+
.association .association_clear:hover
|
372
|
+
{
|
373
|
+
color: #b00;
|
374
|
+
text-shadow: 1px 1px 2px #555;
|
375
|
+
}
|
376
|
+
|
377
|
+
.association input[disabled] ~ .association_clear
|
378
|
+
{
|
379
|
+
display: block;
|
380
|
+
}
|
381
|
+
|
382
|
+
.association .rui-autocompleter li .description
|
383
|
+
{
|
384
|
+
display: none;
|
385
|
+
}
|
386
|
+
|
387
|
+
.association .rui-autocompleter li:hover .description
|
388
|
+
{
|
389
|
+
display: block;
|
390
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Array do
|
4
|
+
|
5
|
+
describe "#to_includes" do
|
6
|
+
|
7
|
+
it "should pass 1 test" do
|
8
|
+
[].to_includes.should == []
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should pass 2 test" do
|
12
|
+
["foo"].to_includes.should == [:foo]
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should pass 3 test" do
|
16
|
+
["foo.bar", "baz", "foo"].to_includes.should == [{:foo => :bar}, :baz, :foo]
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should pass 4 test" do
|
20
|
+
["foo.bar.baz", "foo.bar.hola", "foo.hello"].to_includes.should == [{:foo => {:bar => :baz}}, {:foo => {:bar => :hola}}, {:foo => :hello}]
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should pass 5 test" do
|
24
|
+
["foo.bar.baz", "foo.bar.hola"].to_includes.should == [{:foo => {:bar => :baz}}, {:foo => {:bar => :hola}}]
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -11,9 +11,9 @@ describe Puffer::Resource do
|
|
11
11
|
get admin_category_path(@category)
|
12
12
|
resource = Puffer::Resource.new request.params.merge(:controller => 'admin/categories', :action => 'show'), request
|
13
13
|
|
14
|
-
resource.
|
15
|
-
resource.
|
16
|
-
resource.
|
14
|
+
resource.collection_path.should == admin_categories_path
|
15
|
+
resource.member_path.should == admin_category_path(@category)
|
16
|
+
resource.member_path(@mock_category).should == admin_category_path(@mock_category)
|
17
17
|
resource.new_path.should == new_admin_category_path
|
18
18
|
resource.edit_path.should == edit_admin_category_path(@category)
|
19
19
|
resource.edit_path(@mock_category).should == edit_admin_category_path(@mock_category)
|
@@ -27,9 +27,9 @@ describe Puffer::Resource do
|
|
27
27
|
get admin_post_category_path(@post, @category)
|
28
28
|
resource = Puffer::Resource.new request.params.merge(:controller => 'admin/categories', :action => 'show'), request
|
29
29
|
|
30
|
-
resource.
|
31
|
-
resource.
|
32
|
-
resource.
|
30
|
+
resource.collection_path.should == admin_post_categories_path(@post)
|
31
|
+
resource.member_path.should == admin_post_category_path(@post, @category)
|
32
|
+
resource.member_path(@mock_category).should == admin_post_category_path(@post, @mock_category)
|
33
33
|
resource.new_path.should == new_admin_post_category_path(@post)
|
34
34
|
resource.edit_path.should == edit_admin_post_category_path(@post, @category)
|
35
35
|
resource.edit_path(@mock_category).should == edit_admin_post_category_path(@post, @mock_category)
|
@@ -42,8 +42,8 @@ describe Puffer::Resource do
|
|
42
42
|
get admin_user_profile_path(@user)
|
43
43
|
resource = Puffer::Resource.new request.params.merge(:controller => 'admin/profiles', :action => 'show'), request
|
44
44
|
|
45
|
-
resource.
|
46
|
-
resource.
|
45
|
+
resource.collection_path.should == admin_user_profile_path(@user)
|
46
|
+
resource.member_path.should == admin_user_profile_path(@user)
|
47
47
|
resource.new_path.should == new_admin_user_profile_path(@user)
|
48
48
|
resource.edit_path.should == edit_admin_user_profile_path(@user)
|
49
49
|
end
|
@@ -56,9 +56,9 @@ describe Puffer::Resource do
|
|
56
56
|
get admin_user_profile_tag_path(@user, @tag)
|
57
57
|
resource = Puffer::Resource.new request.params.merge(:controller => 'admin/tags', :action => 'show'), request
|
58
58
|
|
59
|
-
resource.
|
60
|
-
resource.
|
61
|
-
resource.
|
59
|
+
resource.collection_path.should == admin_user_profile_tags_path(@user)
|
60
|
+
resource.member_path.should == admin_user_profile_tag_path(@user, @tag)
|
61
|
+
resource.member_path(@mock_tag).should == admin_user_profile_tag_path(@user, @mock_tag)
|
62
62
|
resource.new_path.should == new_admin_user_profile_tag_path(@user)
|
63
63
|
resource.edit_path.should == edit_admin_user_profile_tag_path(@user, @tag)
|
64
64
|
resource.edit_path(@mock_tag).should == edit_admin_user_profile_tag_path(@user, @mock_tag)
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puffer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 8
|
10
|
+
version: 0.0.8
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- pyromaniac
|
@@ -15,10 +15,11 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-02-02 00:00:00 +03:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
+
type: :runtime
|
22
23
|
version_requirements: &id001 !ruby/object:Gem::Requirement
|
23
24
|
none: false
|
24
25
|
requirements:
|
@@ -33,8 +34,8 @@ dependencies:
|
|
33
34
|
requirement: *id001
|
34
35
|
prerelease: false
|
35
36
|
name: rails
|
36
|
-
type: :runtime
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
|
+
type: :runtime
|
38
39
|
version_requirements: &id002 !ruby/object:Gem::Requirement
|
39
40
|
none: false
|
40
41
|
requirements:
|
@@ -50,8 +51,8 @@ dependencies:
|
|
50
51
|
requirement: *id002
|
51
52
|
prerelease: false
|
52
53
|
name: will_paginate
|
53
|
-
type: :runtime
|
54
54
|
- !ruby/object:Gem::Dependency
|
55
|
+
type: :runtime
|
55
56
|
version_requirements: &id003 !ruby/object:Gem::Requirement
|
56
57
|
none: false
|
57
58
|
requirements:
|
@@ -66,8 +67,8 @@ dependencies:
|
|
66
67
|
requirement: *id003
|
67
68
|
prerelease: false
|
68
69
|
name: cells
|
69
|
-
type: :runtime
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
|
+
type: :development
|
71
72
|
version_requirements: &id004 !ruby/object:Gem::Requirement
|
72
73
|
none: false
|
73
74
|
requirements:
|
@@ -82,8 +83,8 @@ dependencies:
|
|
82
83
|
requirement: *id004
|
83
84
|
prerelease: false
|
84
85
|
name: capybara
|
85
|
-
type: :development
|
86
86
|
- !ruby/object:Gem::Dependency
|
87
|
+
type: :development
|
87
88
|
version_requirements: &id005 !ruby/object:Gem::Requirement
|
88
89
|
none: false
|
89
90
|
requirements:
|
@@ -96,8 +97,8 @@ dependencies:
|
|
96
97
|
requirement: *id005
|
97
98
|
prerelease: false
|
98
99
|
name: sqlite3-ruby
|
99
|
-
type: :development
|
100
100
|
- !ruby/object:Gem::Dependency
|
101
|
+
type: :development
|
101
102
|
version_requirements: &id006 !ruby/object:Gem::Requirement
|
102
103
|
none: false
|
103
104
|
requirements:
|
@@ -110,8 +111,8 @@ dependencies:
|
|
110
111
|
requirement: *id006
|
111
112
|
prerelease: false
|
112
113
|
name: rspec-rails
|
113
|
-
type: :development
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
|
+
type: :development
|
115
116
|
version_requirements: &id007 !ruby/object:Gem::Requirement
|
116
117
|
none: false
|
117
118
|
requirements:
|
@@ -124,8 +125,8 @@ dependencies:
|
|
124
125
|
requirement: *id007
|
125
126
|
prerelease: false
|
126
127
|
name: autotest
|
127
|
-
type: :development
|
128
128
|
- !ruby/object:Gem::Dependency
|
129
|
+
type: :development
|
129
130
|
version_requirements: &id008 !ruby/object:Gem::Requirement
|
130
131
|
none: false
|
131
132
|
requirements:
|
@@ -138,8 +139,8 @@ dependencies:
|
|
138
139
|
requirement: *id008
|
139
140
|
prerelease: false
|
140
141
|
name: forgery
|
141
|
-
type: :development
|
142
142
|
- !ruby/object:Gem::Dependency
|
143
|
+
type: :development
|
143
144
|
version_requirements: &id009 !ruby/object:Gem::Requirement
|
144
145
|
none: false
|
145
146
|
requirements:
|
@@ -152,8 +153,8 @@ dependencies:
|
|
152
153
|
requirement: *id009
|
153
154
|
prerelease: false
|
154
155
|
name: fabrication
|
155
|
-
type: :development
|
156
156
|
- !ruby/object:Gem::Dependency
|
157
|
+
type: :development
|
157
158
|
version_requirements: &id010 !ruby/object:Gem::Requirement
|
158
159
|
none: false
|
159
160
|
requirements:
|
@@ -166,8 +167,8 @@ dependencies:
|
|
166
167
|
requirement: *id010
|
167
168
|
prerelease: false
|
168
169
|
name: jeweler
|
169
|
-
type: :development
|
170
170
|
- !ruby/object:Gem::Dependency
|
171
|
+
type: :development
|
171
172
|
version_requirements: &id011 !ruby/object:Gem::Requirement
|
172
173
|
none: false
|
173
174
|
requirements:
|
@@ -180,7 +181,6 @@ dependencies:
|
|
180
181
|
requirement: *id011
|
181
182
|
prerelease: false
|
182
183
|
name: mongrel
|
183
|
-
type: :development
|
184
184
|
description: In Soviet Russia puffer admins you
|
185
185
|
email: kinwizard@gmail.com
|
186
186
|
executables: []
|
@@ -208,6 +208,7 @@ files:
|
|
208
208
|
- app/views/puffer/associated/_many.html.erb
|
209
209
|
- app/views/puffer/associated/_one.html.erb
|
210
210
|
- app/views/puffer/associated/many.rjs
|
211
|
+
- app/views/puffer/associated/one.js.erb
|
211
212
|
- app/views/puffer/associated/one.rjs
|
212
213
|
- app/views/puffer/association/_many.html.erb
|
213
214
|
- app/views/puffer/association/_one.html.erb
|
@@ -224,8 +225,11 @@ files:
|
|
224
225
|
- lib/generators/puffer/install/USAGE
|
225
226
|
- lib/generators/puffer/install/install_generator.rb
|
226
227
|
- lib/generators/puffer/install/templates/puffer.rb
|
228
|
+
- lib/generators/puffer/install/templates/puffer/javascripts/application.js
|
227
229
|
- lib/generators/puffer/install/templates/puffer/javascripts/rails-src.js
|
228
|
-
- lib/generators/puffer/install/templates/puffer/javascripts/
|
230
|
+
- lib/generators/puffer/install/templates/puffer/javascripts/right-autocompleter-src.js
|
231
|
+
- lib/generators/puffer/install/templates/puffer/javascripts/right-autocompleter.js
|
232
|
+
- lib/generators/puffer/install/templates/puffer/javascripts/right-autocompleter.js.gz
|
229
233
|
- lib/generators/puffer/install/templates/puffer/javascripts/right-calendar-src.js
|
230
234
|
- lib/generators/puffer/install/templates/puffer/javascripts/right-calendar.js
|
231
235
|
- lib/generators/puffer/install/templates/puffer/javascripts/right-calendar.js.gz
|
@@ -251,6 +255,7 @@ files:
|
|
251
255
|
- lib/puffer/controller/actions.rb
|
252
256
|
- lib/puffer/controller/config.rb
|
253
257
|
- lib/puffer/controller/dsl.rb
|
258
|
+
- lib/puffer/controller/generated.rb
|
254
259
|
- lib/puffer/controller/helpers.rb
|
255
260
|
- lib/puffer/controller/mutate.rb
|
256
261
|
- lib/puffer/engine.rb
|
@@ -328,8 +333,11 @@ files:
|
|
328
333
|
- spec/dummy/public/javascripts/effects.js
|
329
334
|
- spec/dummy/public/javascripts/prototype.js
|
330
335
|
- spec/dummy/public/javascripts/rails.js
|
336
|
+
- spec/dummy/public/puffer/javascripts/application.js
|
331
337
|
- spec/dummy/public/puffer/javascripts/rails-src.js
|
332
|
-
- spec/dummy/public/puffer/javascripts/
|
338
|
+
- spec/dummy/public/puffer/javascripts/right-autocompleter-src.js
|
339
|
+
- spec/dummy/public/puffer/javascripts/right-autocompleter.js
|
340
|
+
- spec/dummy/public/puffer/javascripts/right-autocompleter.js.gz
|
333
341
|
- spec/dummy/public/puffer/javascripts/right-calendar-src.js
|
334
342
|
- spec/dummy/public/puffer/javascripts/right-calendar.js
|
335
343
|
- spec/dummy/public/puffer/javascripts/right-calendar.js.gz
|
@@ -358,6 +366,7 @@ files:
|
|
358
366
|
- spec/fabricators/tags_fabricator.rb
|
359
367
|
- spec/fabricators/users_fabricator.rb
|
360
368
|
- spec/integration/navigation_spec.rb
|
369
|
+
- spec/lib/extensions/core_spec.rb
|
361
370
|
- spec/lib/fields_spec.rb
|
362
371
|
- spec/lib/params_spec.rb
|
363
372
|
- spec/lib/render_fallback_spec.rb
|
@@ -395,7 +404,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
395
404
|
requirements: []
|
396
405
|
|
397
406
|
rubyforge_project:
|
398
|
-
rubygems_version: 1.4.
|
407
|
+
rubygems_version: 1.4.2
|
399
408
|
signing_key:
|
400
409
|
specification_version: 3
|
401
410
|
summary: Admin interface builder
|
@@ -443,6 +452,7 @@ test_files:
|
|
443
452
|
- spec/fabricators/tags_fabricator.rb
|
444
453
|
- spec/fabricators/users_fabricator.rb
|
445
454
|
- spec/integration/navigation_spec.rb
|
455
|
+
- spec/lib/extensions/core_spec.rb
|
446
456
|
- spec/lib/fields_spec.rb
|
447
457
|
- spec/lib/params_spec.rb
|
448
458
|
- spec/lib/render_fallback_spec.rb
|