sferik-merb-admin 0.3.3 → 0.3.4

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.
data/README.markdown CHANGED
@@ -14,7 +14,7 @@ At the command prompt, type:
14
14
 
15
15
  In your app, add the following dependency to `config/dependencies.rb`:
16
16
 
17
- dependency "sferik-merb-admin", "0.3.3", :require_as => "merb-admin"
17
+ dependency "sferik-merb-admin", "0.3.4", :require_as => "merb-admin"
18
18
  dependency "dm-is-paginated", "0.0.1" # if you want pagination support
19
19
 
20
20
  Add the following route to `config/router.rb`:
data/Rakefile CHANGED
@@ -12,7 +12,7 @@ AUTHOR = "Erik Michaels-Ober"
12
12
  EMAIL = "sferik@gmail.com"
13
13
  HOMEPAGE = "http://twitter.com/sferik"
14
14
  SUMMARY = "MerbAdmin is a Merb plugin that provides an easy-to-use interface for managing your data."
15
- GEM_VERSION = "0.3.3"
15
+ GEM_VERSION = "0.3.4"
16
16
 
17
17
  spec = Gem::Specification.new do |s|
18
18
  s.rubyforge_project = "merb"
@@ -164,7 +164,7 @@ class MerbAdmin::Main < MerbAdmin::Application
164
164
  def update_has_one_association(association, id)
165
165
  model = MerbAdmin::AbstractModel.new(association[:child_model])
166
166
  if object = model.find(id)
167
- object.update_attributes(association[:child_key] => @object.id)
167
+ object.update_attributes(association[:child_key].first => @object.id)
168
168
  end
169
169
  end
170
170
 
@@ -1,4 +1,5 @@
1
1
  <%
2
+ selected = MerbAdmin::AbstractModel.new(association[:child_model]).find_all(association[:child_key].first => @object.id).first
2
3
  required = false
3
4
  @properties.each do |property|
4
5
  next unless property[:name] == association[:child_key].first
@@ -16,7 +17,7 @@ end
16
17
  </ul>
17
18
  <% end %>
18
19
  <div>
19
- <%= select(:name => "associations[#{association[:name]}][]", :id => association[:name], :collection => MerbAdmin::AbstractModel.new(association[:child_model]).find_all.map{|o| [o.id, object_title(o)]}.sort_by{|o| o[1]}, :include_blank => true, :selected => @object.send(association[:parent_key].first).to_s, :label => association[:pretty_name].capitalize) %>
20
+ <%= select(:name => "associations[#{association[:name]}][]", :id => association[:name], :collection => MerbAdmin::AbstractModel.new(association[:child_model]).find_all.map{|o| [o.id, object_title(o)]}.sort_by{|o| o[1]}, :include_blank => true, :selected => selected ? selected.id.to_s : nil, :label => association[:pretty_name].capitalize) %>
20
21
  <p class="help">
21
22
  <%= required ? "Required." : "Optional." %>
22
23
  </p>
data/lib/merb-admin.rb CHANGED
@@ -23,7 +23,7 @@ if defined?(Merb::Plugins)
23
23
 
24
24
  # Slice metadata
25
25
  self.description = "MerbAdmin is a Merb plugin that provides an easy-to-use interface for managing your data."
26
- self.version = "0.3.3"
26
+ self.version = "0.3.4"
27
27
  self.author = "Erik Michaels-Ober"
28
28
 
29
29
  # Stub classes loaded hook - runs before LoadClasses BootLoader
@@ -4,11 +4,8 @@ given "a player exists" do
4
4
  @player = Player.gen
5
5
  end
6
6
 
7
- given "two drafts exist" do
8
- @drafts = []
9
- 2.times do
10
- @drafts << Draft.gen
11
- end
7
+ given "a draft exists" do
8
+ @draft = Draft.gen
12
9
  end
13
10
 
14
11
  given "two players exist" do
@@ -25,12 +22,9 @@ given "three teams exist" do
25
22
  end
26
23
  end
27
24
 
28
- given "a player exists and two drafts exist" do
25
+ given "a player exists and a draft exists" do
29
26
  @player = Player.gen
30
- @drafts = []
31
- 2.times do
32
- @drafts << Draft.gen
33
- end
27
+ @draft = Draft.gen
34
28
  end
35
29
 
36
30
  given "a player exists and three teams exist" do
@@ -109,11 +103,11 @@ describe "MerbAdmin" do
109
103
  @response.should be_successful
110
104
  end
111
105
 
112
- it "should contain correct results" do
106
+ it "should contain a correct result" do
113
107
  @response.body.should contain("Jackie Robinson")
114
108
  end
115
109
 
116
- it "should not contain incorrect results" do
110
+ it "should not contain an incorrect result" do
117
111
  @response.body.should_not contain("Sandy Koufax")
118
112
  end
119
113
  end
@@ -161,11 +155,11 @@ describe "MerbAdmin" do
161
155
  @response.should be_successful
162
156
  end
163
157
 
164
- it "should contain correct results" do
158
+ it "should contain a correct result" do
165
159
  @response.body.should contain("Jackie Robinson")
166
160
  end
167
161
 
168
- it "should not contain incorrect results" do
162
+ it "should not contain an incorrect result" do
169
163
  @response.body.should_not contain("David Wright")
170
164
  end
171
165
  end
@@ -181,11 +175,11 @@ describe "MerbAdmin" do
181
175
  @response.should be_successful
182
176
  end
183
177
 
184
- it "should contain correct results" do
178
+ it "should contain a correct result" do
185
179
  @response.body.should contain("Jackie Robinson")
186
180
  end
187
181
 
188
- it "should not contain incorrect results" do
182
+ it "should not contain an incorrect result" do
189
183
  @response.body.should_not contain("Dottie Hinson")
190
184
  end
191
185
  end
@@ -280,7 +274,7 @@ describe "MerbAdmin" do
280
274
  end
281
275
  end
282
276
 
283
- describe "new with has-one association", :given => "two drafts exist" do
277
+ describe "new with has-one association", :given => "a draft exists" do
284
278
  before(:each) do
285
279
  @response = request(url(:admin_new, :model_name => "player"))
286
280
  end
@@ -314,7 +308,7 @@ describe "MerbAdmin" do
314
308
  end
315
309
  end
316
310
 
317
- describe "edit with has-one association", :given => "a player exists and two drafts exist" do
311
+ describe "edit with has-one association", :given => "a player exists and a draft exists" do
318
312
  before(:each) do
319
313
  @response = request(url(:admin_edit, :model_name => "player", :id => @player.id))
320
314
  end
@@ -387,21 +381,17 @@ describe "MerbAdmin" do
387
381
  end
388
382
  end
389
383
 
390
- describe "create with has-one association", :given => "two drafts exist" do
384
+ describe "create with has-one association", :given => "a draft exists" do
391
385
  before(:each) do
392
- @response = request(url(:admin_create, :model_name => "player"), :method => "post", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :position => :second, :sex => :male}, :associations => {:draft => @drafts[0].id}})
386
+ @response = request(url(:admin_create, :model_name => "player"), :method => "post", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :position => :second, :sex => :male}, :associations => {:draft => @draft.id}})
393
387
  end
394
388
 
395
389
  it "should create a new object" do
396
390
  Player.first.should_not be_nil
397
391
  end
398
392
 
399
- it "should include correct associations" do
400
- Player.first.draft.should == @drafts[0]
401
- end
402
-
403
- it "should not include incorrect associations" do
404
- Player.first.draft.should_not == @drafts[1]
393
+ it "should be associated with the correct object" do
394
+ Player.first.draft.should == @draft
405
395
  end
406
396
  end
407
397
 
@@ -414,12 +404,12 @@ describe "MerbAdmin" do
414
404
  League.first.should_not be_nil
415
405
  end
416
406
 
417
- it "should include correct associations" do
407
+ it "should be associated with the correct objects" do
418
408
  League.first.teams.should include(@teams[0])
419
409
  League.first.teams.should include(@teams[1])
420
410
  end
421
411
 
422
- it "should not include incorrect associations" do
412
+ it "should be not associated with an incorrect object" do
423
413
  League.first.teams.should_not include(@teams[2])
424
414
  end
425
415
  end
@@ -476,21 +466,17 @@ describe "MerbAdmin" do
476
466
  end
477
467
  end
478
468
 
479
- describe "update with has-one association", :given => "a player exists and two drafts exist" do
469
+ describe "update with has-one association", :given => "a player exists and a draft exists" do
480
470
  before(:each) do
481
- @response = request(url(:admin_update, :model_name => "player", :id => @player.id), :method => "put", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :position => :second, :sex => :male}, :associations => {:draft => @drafts[0].id}})
471
+ @response = request(url(:admin_update, :model_name => "player", :id => @player.id), :method => "put", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :position => :second, :sex => :male}, :associations => {:draft => @draft.id}})
482
472
  end
483
473
 
484
474
  it "should update an object that already exists" do
485
475
  Player.first(:id => @player.id).name.should eql("Jackie Robinson")
486
476
  end
487
477
 
488
- it "should include correct associations" do
489
- Player.first.draft.should == @drafts[0]
490
- end
491
-
492
- it "should not include incorrect associations" do
493
- Player.first.draft.should_not == @drafts[1]
478
+ it "should be associated with the correct object" do
479
+ Player.first.draft.should == @draft
494
480
  end
495
481
  end
496
482
 
@@ -503,12 +489,12 @@ describe "MerbAdmin" do
503
489
  League.first(:id => @league.id).name.should eql("National League")
504
490
  end
505
491
 
506
- it "should include correct associations" do
492
+ it "should be associated with the correct objects" do
507
493
  League.first.teams.should include(@teams[0])
508
494
  League.first.teams.should include(@teams[1])
509
495
  end
510
496
 
511
- it "should not include incorrect associations" do
497
+ it "should not be associated with an incorrect object" do
512
498
  League.first.teams.should_not include(@teams[2])
513
499
  end
514
500
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sferik-merb-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erik Michaels-Ober