From 7f081b0c669077b5c2e52adba738e19cd07dcdae Mon Sep 17 00:00:00 2001 From: AntonioTerceiro Date: Tue, 31 Jul 2007 13:20:03 +0000 Subject: [PATCH] r268@sede: terceiro | 2007-07-29 23:49:16 -0300 creating boxes when creating design --- vendor/plugins/design/lib/acts_as_design.rb | 5 +++-- vendor/plugins/design/test/acts_as_design_test.rb | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/vendor/plugins/design/lib/acts_as_design.rb b/vendor/plugins/design/lib/acts_as_design.rb index ac5aac5..2440687 100644 --- a/vendor/plugins/design/lib/acts_as_design.rb +++ b/vendor/plugins/design/lib/acts_as_design.rb @@ -25,10 +25,11 @@ class ActiveRecord::Base serialize :design_data attr_protected :design_data - after_create do |design| + before_create do |design| template = Design::Template.find(design.template) while design.boxes.size < template.number_of_boxes - design.boxes << Design::Box.new(:name => 'Block') + n = design.boxes.size + 1 + design.boxes << Design::Box.new(:name => 'Block', :number => n) end end diff --git a/vendor/plugins/design/test/acts_as_design_test.rb b/vendor/plugins/design/test/acts_as_design_test.rb index 0d03316..7d546de 100644 --- a/vendor/plugins/design/test/acts_as_design_test.rb +++ b/vendor/plugins/design/test/acts_as_design_test.rb @@ -51,12 +51,17 @@ class ActsAsDesignTest < Test::Unit::TestCase end def test_should_create_boxes_when_creating + + DesignTestUser.delete_all + Design::Box.delete_all + user = DesignTestUser.create!(:name => 'A test user') # default template (test/designs/templates/default/default.yml) defines # 3 boxes assert_equal 3, Design::Template.find('default').number_of_boxes assert_equal 3, user.boxes.size + assert_equal 3, Design::Box.count end end -- libgit2 0.21.2