From: Jan Provaznik <jprovazn(a)redhat.com>
---
src/app/models/pool_family.rb | 1 +
src/app/models/quota.rb | 1 +
.../20110417180833_add_pool_family_quota.rb | 15 +++++++++++++++
src/db/seeds.rb | 2 +-
src/spec/factories/pool_family.rb | 1 +
5 files changed, 19 insertions(+), 1 deletions(-)
create mode 100644 src/db/migrate/20110417180833_add_pool_family_quota.rb
diff --git a/src/app/models/pool_family.rb b/src/app/models/pool_family.rb
index 2eee939..d7241a3 100644
--- a/src/app/models/pool_family.rb
+++ b/src/app/models/pool_family.rb
@@ -42,6 +42,7 @@ class PoolFamily < ActiveRecord::Base
end
has_many :pools, :dependent => :destroy
+ belongs_to :quota, :dependent => :destroy
has_and_belongs_to_many :provider_accounts
validates_length_of :name, :maximum => 255
diff --git a/src/app/models/quota.rb b/src/app/models/quota.rb
index 7d67088..b33560c 100644
--- a/src/app/models/quota.rb
+++ b/src/app/models/quota.rb
@@ -37,6 +37,7 @@
class Quota < ActiveRecord::Base
has_one :pool
+ has_one :pool_family
has_one :provider_account
has_one :user
diff --git a/src/db/migrate/20110417180833_add_pool_family_quota.rb
b/src/db/migrate/20110417180833_add_pool_family_quota.rb
new file mode 100644
index 0000000..e95b4a5
--- /dev/null
+++ b/src/db/migrate/20110417180833_add_pool_family_quota.rb
@@ -0,0 +1,15 @@
+class AddPoolFamilyQuota < ActiveRecord::Migration
+ def self.up
+ add_column :pool_families, :quota_id, :integer
+ PoolFamily.all.each do |pf|
+ unless pf.quota
+ pf.quota = Quota.new
+ pf.save!
+ end
+ end
+ end
+
+ def self.down
+ remove_column :pool_families, :quota_id
+ end
+end
diff --git a/src/db/seeds.rb b/src/db/seeds.rb
index 69be3f4..7ef7c37 100644
--- a/src/db/seeds.rb
+++ b/src/db/seeds.rb
@@ -1,5 +1,5 @@
# Default Pool Family
-PoolFamily.create!(:name => "default", :description => "default pool
family")
+PoolFamily.create!(:name => "default", :description => "default pool
family", :quota => Quota.create)
# Default Pool
Pool.create!(:name => "default_pool", :quota => Quota.create,
:pool_family => PoolFamily.find_by_name('default'))
diff --git a/src/spec/factories/pool_family.rb b/src/spec/factories/pool_family.rb
index d0ca8e7..1d9f0a0 100644
--- a/src/spec/factories/pool_family.rb
+++ b/src/spec/factories/pool_family.rb
@@ -1,4 +1,5 @@
Factory.define :pool_family do |z|
z.sequence(:name) { |n| "pool_family#{n}" }
z.description 'pool family'
+ z.association :quota
end
--
1.7.4