sferik-merb-admin 0.3.1 → 0.3.2

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.1", :require_as => "merb-admin"
17
+ dependency "sferik-merb-admin", "0.3.2", :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.1"
15
+ GEM_VERSION = "0.3.2"
16
16
 
17
17
  spec = Gem::Specification.new do |s|
18
18
  s.rubyforge_project = "merb"
@@ -1,4 +1,5 @@
1
1
  class MerbAdmin::Application < Merb::Controller
2
+ include Merb::MerbAdmin::MainHelper
2
3
 
3
4
  controller_for_slice
4
5
 
@@ -2,6 +2,7 @@ require File.join( File.dirname(__FILE__), '..', '..', 'lib', 'abstract_model' )
2
2
  require File.join( File.dirname(__FILE__), '..', '..', 'lib', 'metaid' )
3
3
 
4
4
  class MerbAdmin::Main < MerbAdmin::Application
5
+ include Merb::MerbAdmin::MainHelper
5
6
 
6
7
  before :find_models, :only => ['index']
7
8
  before :find_model, :exclude => ['index']
@@ -1,3 +1,10 @@
1
+ <%
2
+ required = false
3
+ @properties.each do |property|
4
+ next unless property[:name] == association[:child_key].first
5
+ required = true unless property[:nullable?]
6
+ end
7
+ %>
1
8
  <fieldset class="module aligned">
2
9
  <h2><%= association[:pretty_name].capitalize %></h2>
3
10
  <div class="<%= @object.errors[association[:child_key].first] ? "form-row errors" : "form-row"%>">
@@ -11,11 +18,6 @@
11
18
  <div>
12
19
  <%= select(association[:child_key].first, :collection => MerbAdmin::AbstractModel.new(association[:parent_model]).find_all.map{|o| [o.id, object_title(o)]}.sort_by{|o| o[1]}, :include_blank => true, :selected => @object.send(association[:child_key].first).to_s, :label => association[:pretty_name].capitalize) %>
13
20
  <p class="help">
14
- <% required = false %>
15
- <% @properties.each do |property| %>
16
- <% next unless property[:name] == association[:child_key].first %>
17
- <% required = true unless property[:nullable?] %>
18
- <% end %>
19
21
  <%= required ? "Required." : "Optional." %>
20
22
  </p>
21
23
  </div>
@@ -0,0 +1,25 @@
1
+ <%
2
+ required = false
3
+ @properties.each do |property|
4
+ next unless property[:name] == association[:child_key].first
5
+ required = true unless property[:nullable?]
6
+ end
7
+ %>
8
+ <fieldset class="module aligned">
9
+ <h2><%= association[:pretty_name].capitalize %></h2>
10
+ <div class="<%= @object.errors[association[:child_key].first] ? "form-row errors" : "form-row"%>">
11
+ <% if @object.errors[association[:child_key].first] %>
12
+ <ul class="errorlist">
13
+ <% @object.errors[association[:child_key].first].each do |error| %>
14
+ <li><%= error %></li>
15
+ <% end %>
16
+ </ul>
17
+ <% end %>
18
+ <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
+ <p class="help">
21
+ <%= required ? "Required." : "Optional." %>
22
+ </p>
23
+ </div>
24
+ </div>
25
+ </fieldset>
@@ -0,0 +1,17 @@
1
+ <fieldset class="module aligned">
2
+ <% belongs_to_keys = @abstract_model.belongs_to_associations.map{|b| b[:child_key].first} %>
3
+ <% properties.each do |property| %>
4
+ <% next if [:id, :created_at, :created_on, :deleted_at, :updated_at, :updated_on, :deleted_on].include?(property[:name]) %>
5
+ <% next if belongs_to_keys.include?(property[:name]) %>
6
+ <div class="<%= @object.errors[property[:name]] ? "form-row errors" : "form-row" %>">
7
+ <% if @object.errors[property[:name]] %>
8
+ <ul class="errorlist">
9
+ <% @object.errors[property[:name]].each do |error| %>
10
+ <li><%= error %></li>
11
+ <% end %>
12
+ </ul>
13
+ <% end %>
14
+ <%= partial(property[:type].to_s, :property => property) -%>
15
+ </div>
16
+ <% end %>
17
+ </fieldset>
@@ -6,25 +6,12 @@
6
6
  </ul>
7
7
  <%= form_for(@object, :action => slice_url(:admin_update, :model_name => @abstract_model.singular_name, :id => @object.id)) do %>
8
8
  <div>
9
- <fieldset class="module aligned">
10
- <% belongs_to_keys = @abstract_model.belongs_to_associations.map{|b| b[:child_key].first} %>
11
- <% @properties.each do |property| %>
12
- <% next if [:id, :created_at, :created_on, :deleted_at, :updated_at, :updated_on, :deleted_on].include?(property[:name]) %>
13
- <% next if belongs_to_keys.include?(property[:name]) %>
14
- <div class="<%= @object.errors[property[:name]] ? "form-row errors" : "form-row"%>">
15
- <% if @object.errors[property[:name]] %>
16
- <ul class="errorlist">
17
- <% @object.errors[property[:name]].each do |error| %>
18
- <li><%= error %></li>
19
- <% end %>
20
- </ul>
21
- <% end %>
22
- <%= partial(property[:type].to_s, :property => property) -%>
23
- </div>
24
- <% end %>
25
- </fieldset>
9
+ <%= partial('properties', :properties => @properties) -%>
26
10
  <% @abstract_model.belongs_to_associations.each do |association| %>
27
11
  <%= partial('belongs_to', :association => association) -%>
12
+ <% end %>
13
+ <% @abstract_model.has_one_associations.each do |association| %>
14
+ <%= partial('has_one', :association => association) -%>
28
15
  <% end %>
29
16
  <% @abstract_model.has_many_associations.each do |association| %>
30
17
  <%= partial('has_many', :association => association) -%>
@@ -1,25 +1,12 @@
1
1
  <div id="content-main">
2
2
  <%= form_for(@object, :action => slice_url(:admin_create, :model_name => @abstract_model.singular_name)) do %>
3
3
  <div>
4
- <fieldset class="module aligned">
5
- <% belongs_to_keys = @abstract_model.belongs_to_associations.map{|b| b[:child_key].first} %>
6
- <% @properties.each do |property| %>
7
- <% next if [:id, :created_at, :created_on, :deleted_at, :updated_at, :updated_on, :deleted_on].include?(property[:name]) %>
8
- <% next if belongs_to_keys.include?(property[:name]) %>
9
- <div class="<%= @object.errors[property[:name]] ? "form-row errors" : "form-row"%>">
10
- <% if @object.errors[property[:name]] %>
11
- <ul class="errorlist">
12
- <% @object.errors[property[:name]].each do |error| %>
13
- <li><%= error %></li>
14
- <% end %>
15
- </ul>
16
- <% end %>
17
- <%= partial(property[:type].to_s, :property => property) -%>
18
- </div>
19
- <% end %>
20
- </fieldset>
4
+ <%= partial('properties', :properties => @properties) -%>
21
5
  <% @abstract_model.belongs_to_associations.each do |association| %>
22
6
  <%= partial('belongs_to', :association => association) -%>
7
+ <% end %>
8
+ <% @abstract_model.has_one_associations.each do |association| %>
9
+ <%= partial('has_one', :association => association) -%>
23
10
  <% end %>
24
11
  <% @abstract_model.has_many_associations.each do |association| %>
25
12
  <%= partial('has_many', :association => association) -%>
@@ -15,7 +15,7 @@ module MerbAdmin
15
15
  model = lookup(m.to_s.to_sym)
16
16
  @models << new(model) if model
17
17
  end
18
- @models.sort{|a, b| a.to_s <=> b.to_s}
18
+ @models.sort!{|a, b| a.model.to_s <=> b.model.to_s}
19
19
  else
20
20
  raise "MerbAdmin does not currently support the #{Merb.orm} ORM"
21
21
  end
@@ -51,12 +51,6 @@ module MerbAdmin
51
51
  end
52
52
  end
53
53
 
54
- def association_names
55
- associations.map do |association|
56
- association[:type] == :belongs_to ? association[:parent_name] : association[:child_name]
57
- end
58
- end
59
-
60
54
  def properties
61
55
  model.properties.map do |property|
62
56
  {
@@ -86,19 +80,20 @@ module MerbAdmin
86
80
 
87
81
  def type_lookup(property)
88
82
  type = {
89
- DataMapper::Types::Serial => :integer,
83
+ BigDecimal => :big_decimal,
90
84
  DataMapper::Types::Boolean => :boolean,
91
- DataMapper::Types::Text => :text,
85
+ DataMapper::Types::ParanoidBoolean => :boolean,
92
86
  DataMapper::Types::ParanoidDateTime => :date_time,
93
- Integer => :integer,
87
+ DataMapper::Types::Serial => :integer,
88
+ DataMapper::Types::Text => :text,
89
+ Date => :date,
90
+ DateTime => :date_time,
94
91
  Fixnum => :integer,
95
92
  Float => :float,
96
- BigDecimal => :big_decimal,
97
- TrueClass => :boolean,
93
+ Integer => :integer,
98
94
  String => :string,
99
- DateTime => :date_time,
100
- Date => :date,
101
95
  Time => :time,
96
+ TrueClass => :boolean,
102
97
  }
103
98
  type[property.type] || type[property.primitive]
104
99
  end
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.1"
26
+ self.version = "0.3.2"
27
27
  self.author = "Erik Michaels-Ober"
28
28
 
29
29
  # Stub classes loaded hook - runs before LoadClasses BootLoader
@@ -12,6 +12,6 @@ class Division
12
12
  end
13
13
 
14
14
  Division.fixture {{
15
- :league_id => /\d{1,2}/.gen,
15
+ :league_id => /\d{1,5}/.gen,
16
16
  :name => /\w{5,10}/.gen.capitalize,
17
17
  }}
@@ -0,0 +1,29 @@
1
+ class Draft
2
+ include DataMapper::Resource
3
+
4
+ property :id, Serial
5
+ property :created_at, DateTime
6
+ property :updated_at, DateTime
7
+ property :player_id, Integer, :nullable => false, :index => true
8
+ property :team_id, Integer, :nullable => false, :index => true
9
+ property :date, Date, :nullable => false
10
+ property :round, Integer, :nullable => false
11
+ property :pick, Integer, :nullable => false
12
+ property :overall, Integer, :nullable => false
13
+ property :college, String, :length => 100
14
+ property :notes, Text
15
+
16
+ belongs_to :team
17
+ belongs_to :player
18
+ end
19
+
20
+ Draft.fixture {{
21
+ :player_id => /\d{1,5}/.gen,
22
+ :team_id => /\d{1,5}/.gen,
23
+ :date => Date.today,
24
+ :round => /\d/.gen,
25
+ :pick => /\d{1,2}/.gen,
26
+ :overall => /\d{1,3}/.gen,
27
+ :college => "#{/\w{5,10}/.gen.capitalize} University",
28
+ :notes => /[:sentence:]/.gen,
29
+ }}
@@ -11,5 +11,5 @@ class League
11
11
  end
12
12
 
13
13
  League.fixture {{
14
- :name => /\w{5,10}/.gen.capitalize,
14
+ :name => "#{/\w{5,10}/.gen.capitalize} League",
15
15
  }}
@@ -18,10 +18,11 @@ class Player
18
18
  property :notes, Text
19
19
 
20
20
  belongs_to :team
21
+ has 1, :draft
21
22
  end
22
23
 
23
24
  Player.fixture {{
24
- :team_id => /\d{1,2}/.gen,
25
+ :team_id => /\d{1,5}/.gen,
25
26
  :number => /\d{1,2}/.gen,
26
27
  :name => "#{/\w{3,10}/.gen.capitalize} #{/\w{5,10}/.gen.capitalize}",
27
28
  :position => Player.properties[:position].type.flag_map.values[rand(Player.properties[:position].type.flag_map.length)],
@@ -14,7 +14,7 @@ class Team
14
14
  end
15
15
 
16
16
  Team.fixture {{
17
- :league_id => /\d{1,2}/.gen,
18
- :division_id => /\d{1,2}/.gen,
19
- :name => /\w{5,10}/.gen.capitalize,
17
+ :league_id => /\d{1,5}/.gen,
18
+ :division_id => /\d{1,5}/.gen,
19
+ :name => "The #{/\w{5,10}/.gen.pluralize.capitalize}",
20
20
  }}
@@ -1,22 +1,54 @@
1
1
  require File.join(File.dirname(__FILE__), '..', 'spec_helper.rb')
2
2
 
3
- given "an object exists" do
3
+ given "a player exists" do
4
4
  @player = Player.gen
5
5
  end
6
6
 
7
7
  given "two players exist" do
8
- @players = 2.times{Player.gen}
8
+ @players = []
9
+ 2.times do
10
+ @players << Player.gen
11
+ end
12
+ end
13
+
14
+ given "three teams exists" do
15
+ @teams = []
16
+ 3.times do
17
+ @teams << Team.gen
18
+ end
19
+ end
20
+
21
+ given "a player exists and three teams exist" do
22
+ @player = Player.gen
23
+ @teams = []
24
+ 3.times do
25
+ @teams << Team.gen
26
+ end
27
+ end
28
+
29
+ given "a league exists and three teams exist" do
30
+ @league = League.gen
31
+ @teams = []
32
+ 3.times do
33
+ @teams << Team.gen
34
+ end
9
35
  end
10
36
 
11
37
  given "twenty players exist" do
12
- @players = 20.times{Player.gen}
38
+ @players = []
39
+ 20.times do
40
+ @players << Player.gen
41
+ end
13
42
  end
14
43
 
15
44
  describe "MerbAdmin" do
16
45
 
17
46
  before(:each) do
18
47
  mount_slice
48
+ Division.all.destroy!
49
+ League.all.destroy!
19
50
  Player.all.destroy!
51
+ Team.all.destroy!
20
52
  end
21
53
 
22
54
  describe "dashboard" do
@@ -31,6 +63,10 @@ describe "MerbAdmin" do
31
63
  it "should contain \"Site administration\"" do
32
64
  @response.body.should contain("Site administration")
33
65
  end
66
+
67
+ it "should be ordered correctly" do
68
+ @response.body.should contain(/Division.*League.*Player.*Team/m)
69
+ end
34
70
  end
35
71
 
36
72
  describe "list" do
@@ -58,11 +94,11 @@ describe "MerbAdmin" do
58
94
  @response.should be_successful
59
95
  end
60
96
 
61
- it "should contain matching results" do
97
+ it "should contain correct results" do
62
98
  @response.body.should contain("Jackie Robinson")
63
99
  end
64
100
 
65
- it "should not contain non-matching results" do
101
+ it "should not contain incorrect results" do
66
102
  @response.body.should_not contain("Sandy Koufax")
67
103
  end
68
104
  end
@@ -110,15 +146,35 @@ describe "MerbAdmin" do
110
146
  @response.should be_successful
111
147
  end
112
148
 
113
- it "should contain matching results" do
149
+ it "should contain correct results" do
114
150
  @response.body.should contain("Jackie Robinson")
115
151
  end
116
152
 
117
- it "should not contain non-matching results" do
153
+ it "should not contain incorrect results" do
118
154
  @response.body.should_not contain("David Wright")
119
155
  end
120
156
  end
121
157
 
158
+ describe "list with enum filter" do
159
+ before(:each) do
160
+ Player.gen(:name => "Jackie Robinson", :sex => :male)
161
+ Player.gen(:name => "Dottie Hinson", :sex => :female)
162
+ @response = request(url(:admin_list, :model_name => "player"), :params => {:filter => {:sex => :male}})
163
+ end
164
+
165
+ it "should respond sucessfully" do
166
+ @response.should be_successful
167
+ end
168
+
169
+ it "should contain correct results" do
170
+ @response.body.should contain("Jackie Robinson")
171
+ end
172
+
173
+ it "should not contain incorrect results" do
174
+ @response.body.should_not contain("Dottie Hinson")
175
+ end
176
+ end
177
+
122
178
  describe "list with 2 objects", :given => "two players exist" do
123
179
  before(:each) do
124
180
  MerbAdmin[:paginate] = true
@@ -209,7 +265,18 @@ describe "MerbAdmin" do
209
265
  end
210
266
  end
211
267
 
212
- describe "edit", :given => "an object exists" do
268
+ describe "new with has-many association", :given => "three teams exists" do
269
+ before(:each) do
270
+ @response = request(url(:admin_new, :model_name => "player"))
271
+ end
272
+
273
+ it "should respond sucessfully" do
274
+ @response.should be_successful
275
+ end
276
+ end
277
+
278
+
279
+ describe "edit", :given => "a player exists" do
213
280
  before(:each) do
214
281
  @response = request(url(:admin_edit, :model_name => "player", :id => @player.id))
215
282
  end
@@ -223,6 +290,17 @@ describe "MerbAdmin" do
223
290
  end
224
291
  end
225
292
 
293
+ describe "edit with has-many association", :given => "a player exists and three teams exist" do
294
+ before(:each) do
295
+ @response = request(url(:admin_edit, :model_name => "player", :id => @player.id))
296
+ end
297
+
298
+ it "should respond sucessfully" do
299
+ @response.should be_successful
300
+ end
301
+ end
302
+
303
+
226
304
  describe "edit with missing object" do
227
305
  before(:each) do
228
306
  @response = request(url(:admin_edit, :model_name => "player", :id => 1))
@@ -242,7 +320,7 @@ describe "MerbAdmin" do
242
320
  @response.should redirect_to(url(:admin_list, :model_name => "player"))
243
321
  end
244
322
 
245
- it "should create a new player" do
323
+ it "should create a new object" do
246
324
  Player.first.should_not be_nil
247
325
  end
248
326
  end
@@ -256,7 +334,7 @@ describe "MerbAdmin" do
256
334
  @response.should redirect_to(url(:admin_edit, :model_name => "player", :id => Player.first.id))
257
335
  end
258
336
 
259
- it "should create a new player" do
337
+ it "should create a new object" do
260
338
  Player.first.should_not be_nil
261
339
  end
262
340
  end
@@ -270,11 +348,30 @@ describe "MerbAdmin" do
270
348
  @response.should redirect_to(url(:admin_new, :model_name => "player"))
271
349
  end
272
350
 
273
- it "should create a new player" do
351
+ it "should create a new object" do
274
352
  Player.first.should_not be_nil
275
353
  end
276
354
  end
277
355
 
356
+ describe "create with has-many association", :given => "three teams exists" do
357
+ before(:each) do
358
+ @response = request(url(:admin_create, :model_name => "league"), :method => "post", :params => {:league => {:name => "National League"}, :associations => {:teams => [@teams[0].id, @teams[1].id]}})
359
+ end
360
+
361
+ it "should create a new object" do
362
+ League.first.should_not be_nil
363
+ end
364
+
365
+ it "should include correct associations" do
366
+ League.first.teams.should include(@teams[0])
367
+ League.first.teams.should include(@teams[1])
368
+ end
369
+
370
+ it "should not include incorrect associations" do
371
+ League.first.teams.should_not include(@teams[2])
372
+ end
373
+ end
374
+
278
375
  describe "create with invalid object" do
279
376
  before(:each) do
280
377
  @response = request(url(:admin_create, :model_name => "player"), :method => "post", :params => {:player => {}})
@@ -285,7 +382,7 @@ describe "MerbAdmin" do
285
382
  end
286
383
  end
287
384
 
288
- describe "update", :given => "an object exists" do
385
+ describe "update", :given => "a player exists" do
289
386
  before(:each) do
290
387
  @response = request(url(:admin_update, :model_name => "player", :id => @player.id), :method => "put", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :sex => :male}})
291
388
  end
@@ -299,7 +396,7 @@ describe "MerbAdmin" do
299
396
  end
300
397
  end
301
398
 
302
- describe "update and edit", :given => "an object exists" do
399
+ describe "update and edit", :given => "a player exists" do
303
400
  before(:each) do
304
401
  @response = request(url(:admin_update, :model_name => "player", :id => @player.id), :method => "put", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :sex => :male}, :_continue => true})
305
402
  end
@@ -313,7 +410,7 @@ describe "MerbAdmin" do
313
410
  end
314
411
  end
315
412
 
316
- describe "update and add another", :given => "an object exists" do
413
+ describe "update and add another", :given => "a player exists" do
317
414
  before(:each) do
318
415
  @response = request(url(:admin_update, :model_name => "player", :id => @player.id), :method => "put", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :sex => :male}, :_add_another => true})
319
416
  end
@@ -327,6 +424,25 @@ describe "MerbAdmin" do
327
424
  end
328
425
  end
329
426
 
427
+ describe "update with has-many association", :given => "a league exists and three teams exist" do
428
+ before(:each) do
429
+ @response = request(url(:admin_update, :model_name => "league", :id => @league.id), :method => "put", :params => {:league => {:name => "National League"}, :associations => {:teams => [@teams[0].id, @teams[1].id]}})
430
+ end
431
+
432
+ it "should update an object that already exists" do
433
+ League.first(:id => @league.id).name.should eql("National League")
434
+ end
435
+
436
+ it "should include correct associations" do
437
+ League.first.teams.should include(@teams[0])
438
+ League.first.teams.should include(@teams[1])
439
+ end
440
+
441
+ it "should not include incorrect associations" do
442
+ League.first.teams.should_not include(@teams[2])
443
+ end
444
+ end
445
+
330
446
  describe "update with missing object" do
331
447
  before(:each) do
332
448
  @response = request(url(:admin_update, :model_name => "player", :id => 1), :method => "put", :params => {:player => {:name => "Jackie Robinson", :number => 42, :team_id => 1, :sex => :male}})
@@ -337,7 +453,7 @@ describe "MerbAdmin" do
337
453
  end
338
454
  end
339
455
 
340
- describe "update with invalid object", :given => "an object exists" do
456
+ describe "update with invalid object", :given => "a player exists" do
341
457
  before(:each) do
342
458
  @response = request(url(:admin_update, :model_name => "player", :id => @player.id), :method => "put", :params => {:player => {:number => "a"}})
343
459
  end
@@ -347,7 +463,7 @@ describe "MerbAdmin" do
347
463
  end
348
464
  end
349
465
 
350
- describe "delete", :given => "an object exists" do
466
+ describe "delete", :given => "a player exists" do
351
467
  before(:each) do
352
468
  @response = request(url(:admin_delete, :model_name => "player", :id => @player.id))
353
469
  end
@@ -371,7 +487,7 @@ describe "MerbAdmin" do
371
487
  end
372
488
  end
373
489
 
374
- describe "destroy", :given => "an object exists" do
490
+ describe "destroy", :given => "a player exists" do
375
491
  before(:each) do
376
492
  @response = request(url(:admin_destroy, :model_name => "player", :id => @player.id), :method => "delete")
377
493
  end
data/spec/spec_helper.rb CHANGED
@@ -24,8 +24,7 @@ Merb.start_environment(
24
24
  :session_store => 'memory'
25
25
  )
26
26
 
27
- # DataMapper.setup(:default, 'sqlite3::memory:') && DataMapper.auto_migrate!
28
- DataMapper.setup(:default, 'sqlite3:test.db')
27
+ DataMapper.setup(:default, 'sqlite3::memory:') && DataMapper.auto_migrate!
29
28
 
30
29
  module Merb
31
30
  module Test
@@ -58,8 +57,7 @@ Merb::Test.add_helpers do
58
57
  def mount_slice
59
58
  if standalone?
60
59
  Merb::Router.reset!
61
- Merb::Router.prepare { add_slice(:MerbAdmin, :name_prefix => nil, :path_prefix => "", :default_routes => false) }
60
+ Merb::Router.prepare{add_slice(:MerbAdmin, :name_prefix => nil, :path_prefix => "admin", :default_routes => false)}
62
61
  end
63
62
  end
64
-
65
63
  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.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erik Michaels-Ober
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-08-24 00:00:00 -07:00
12
+ date: 2009-08-31 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -68,6 +68,7 @@ files:
68
68
  - spec/controllers/main_spec.rb
69
69
  - spec/fixtures
70
70
  - spec/fixtures/division_fixture.rb
71
+ - spec/fixtures/draft_fixture.rb
71
72
  - spec/fixtures/league_fixture.rb
72
73
  - spec/fixtures/player_fixture.rb
73
74
  - spec/fixtures/team_fixture.rb
@@ -95,7 +96,9 @@ files:
95
96
  - app/views/main/_date_time.html.erb
96
97
  - app/views/main/_float.html.erb
97
98
  - app/views/main/_has_many.html.erb
99
+ - app/views/main/_has_one.html.erb
98
100
  - app/views/main/_integer.html.erb
101
+ - app/views/main/_properties.html.erb
99
102
  - app/views/main/_string.html.erb
100
103
  - app/views/main/_text.html.erb
101
104
  - app/views/main/_time.html.erb