ACK I'm wondering, though: why didn't you rename `src/app/models/zone.rb` to `src/app/models/pool_family.rb`?
And the same thing with `/spec/factories/zone.rb`. What am I missing? Thomas On 01/03/2011 06:19 PM, [email protected] wrote: > From: Ladislav Martincik<[email protected]> > > --- > .../admin/provider_accounts_controller.rb | 2 +- > src/app/controllers/cloud_accounts_controller.rb | 2 +- > src/app/controllers/pools_controller.rb | 6 ++-- > src/app/controllers/resources/pools_controller.rb | 6 ++-- > src/app/helpers/application_helper.rb | 2 +- > src/app/models/cloud_account.rb | 2 +- > src/app/models/pool.rb | 4 +- > src/app/models/zone.rb | 8 ++-- > src/app/views/instances/index.haml | 4 +- > src/app/views/pools/index.haml | 2 +- > src/app/views/resources/pools/_list.haml | 2 +- > .../20110103160939_rename_zone_to_pool_family.rb | 15 +++++++++ > src/features/support/hooks.rb | 2 +- > src/spec/factories/metadata_object.rb | 8 ++-- > src/spec/factories/pool.rb | 2 +- > src/spec/factories/zone.rb | 4 +- > src/spec/models/metadata_object_spec.rb | 10 +++--- > src/spec/models/pool_family_spec.rb | 34 > ++++++++++++++++++++ > src/spec/models/zone_spec.rb | 34 > -------------------- > src/spec/spec_helper.rb | 2 +- > 20 files changed, 83 insertions(+), 68 deletions(-) > create mode 100644 > src/db/migrate/20110103160939_rename_zone_to_pool_family.rb > create mode 100644 src/spec/models/pool_family_spec.rb > delete mode 100644 src/spec/models/zone_spec.rb > > diff --git a/src/app/controllers/admin/provider_accounts_controller.rb > b/src/app/controllers/admin/provider_accounts_controller.rb > index 9373776..2c331f7 100644 > --- a/src/app/controllers/admin/provider_accounts_controller.rb > +++ b/src/app/controllers/admin/provider_accounts_controller.rb > @@ -60,7 +60,7 @@ class Admin::ProviderAccountsController< > ApplicationController > render :action => 'new' and return > end > > - @cloud_account.zones<< Zone.default > + @cloud_account.pool_families<< PoolFamily.default > @cloud_account.save! > if @cloud_account.populate_realms > flash[:notice] = "Provider account added." > diff --git a/src/app/controllers/cloud_accounts_controller.rb > b/src/app/controllers/cloud_accounts_controller.rb > index ae0a224..75a75d9 100644 > --- a/src/app/controllers/cloud_accounts_controller.rb > +++ b/src/app/controllers/cloud_accounts_controller.rb > @@ -67,7 +67,7 @@ class CloudAccountsController< ApplicationController > render :action => 'new' and return > end > > - @cloud_account.zones<< Zone.default > + @cloud_account.pool_families<< PoolFamily.default > @cloud_account.save! > if @cloud_account.populate_realms > flash[:notice] = "Provider account added." > diff --git a/src/app/controllers/pools_controller.rb > b/src/app/controllers/pools_controller.rb > index 2ba6940..47cdc77 100644 > --- a/src/app/controllers/pools_controller.rb > +++ b/src/app/controllers/pools_controller.rb > @@ -33,9 +33,9 @@ class PoolsController< ApplicationController > { :name => "Pool name", :sort_attr => :name }, > { :name => "% Quota used", :sortable => false }, > { :name => "Quota (Instances)", :sort_attr => > "quotas.total_instances"}, > - { :name => "Zone", :sort_attr => "zones.name" } > + { :name => "Pool Family", :sort_attr => "pool_families.name" } > ] > - @pools = Pool.paginate(:all, :include => [ :quota, :zone ], > + @pools = Pool.paginate(:all, :include => [ :quota, :pool_family ], > :page => params[:page] || 1, > :order => (params[:order_field] || 'name') +' '+ (params[:order_dir] > || 'asc') > ) > @@ -102,7 +102,7 @@ class PoolsController< ApplicationController > > @pool.quota_id = quota.id > > - @pool.zone = Zone.default > + @pool.pool_family = PoolFamily.default > if @pool.save > flash[:notice] = "Pool added." > redirect_to :action => 'show', :id => @pool.id > diff --git a/src/app/controllers/resources/pools_controller.rb > b/src/app/controllers/resources/pools_controller.rb > index 62bb2eb..9878494 100644 > --- a/src/app/controllers/resources/pools_controller.rb > +++ b/src/app/controllers/resources/pools_controller.rb > @@ -34,7 +34,7 @@ class Resources::PoolsController< ApplicationController > quota.save! > > @pool.quota_id = quota.id > - @pool.zone = Zone.default > + @pool.pool_family = PoolFamily.default > if @pool.save > flash[:notice] = "Pool added." > redirect_to :action => 'show', :id => @pool.id > @@ -68,9 +68,9 @@ class Resources::PoolsController< ApplicationController > { :name => "Pool name", :sort_attr => :name }, > { :name => "% Quota used", :sortable => false }, > { :name => "Quota (Instances)", :sort_attr => > "quotas.total_instances"}, > - { :name => "Zone", :sort_attr => "zones.name" } > + { :name => "Pool Family", :sort_attr => "pool_families.name" } > ] > - @pools = Pool.paginate(:all, :include => [ :quota, :zone ], > + @pools = Pool.paginate(:all, :include => [ :quota, :pool_family ], > :page => params[:page] || 1, > :order => (params[:order_field] || 'name') +' '+ (params[:order_dir] > || 'asc') > ) > diff --git a/src/app/helpers/application_helper.rb > b/src/app/helpers/application_helper.rb > index 12dd62d..7a08a91 100644 > --- a/src/app/helpers/application_helper.rb > +++ b/src/app/helpers/application_helper.rb > @@ -85,7 +85,7 @@ module ApplicationHelper > # Fields example: > # [ > # { :name => 'Pool name', :sort_attr => 'name'}, > - # { :name => 'Zone', :sortable => false}, > + # { :name => 'Pool family', :sortable => false}, > # ] > def sortable_table_header(fields=[]) > columns = fields.collect do |field| > diff --git a/src/app/models/cloud_account.rb b/src/app/models/cloud_account.rb > index 370f917..e4fe6c6 100644 > --- a/src/app/models/cloud_account.rb > +++ b/src/app/models/cloud_account.rb > @@ -28,7 +28,7 @@ class CloudAccount< ActiveRecord::Base > belongs_to :provider > belongs_to :quota, :autosave => true > has_many :instances > - has_and_belongs_to_many :zones > + has_and_belongs_to_many :pool_families > has_many :permissions, :as => :permission_object, :dependent => > :destroy, > :include => [:role], > :order => "permissions.id ASC" > diff --git a/src/app/models/pool.rb b/src/app/models/pool.rb > index cb60546..262f744 100644 > --- a/src/app/models/pool.rb > +++ b/src/app/models/pool.rb > @@ -23,13 +23,13 @@ class Pool< ActiveRecord::Base > include PermissionedObject > has_many :instances, :dependent => :destroy > belongs_to :quota > - belongs_to :zone > + belongs_to :pool_family > > has_many :images, :dependent => :destroy > has_many :hardware_profiles, :dependent => :destroy > > validates_presence_of :name > - validates_presence_of :zone > + validates_presence_of :pool_family > validates_uniqueness_of :name > validates_uniqueness_of :exported_as, :if => :exported_as > > diff --git a/src/app/models/zone.rb b/src/app/models/zone.rb > index bc823a6..c070ee8 100644 > --- a/src/app/models/zone.rb > +++ b/src/app/models/zone.rb > @@ -19,19 +19,19 @@ > # Filters added to this controller apply to all controllers in the > application. > # Likewise, all the methods added will be available for all controllers. > > -class Zone< ActiveRecord::Base > +class PoolFamily< ActiveRecord::Base > > - DEFAULT_ZONE_KEY = "default_zone" > + DEFAULT_POOL_FAMILY_KEY = "default_pool_family" > > has_many :pools, :dependent => :destroy > has_and_belongs_to_many :cloud_accounts > > validates_presence_of :name > def self.default > - MetadataObject.lookup(DEFAULT_ZONE_KEY) > + MetadataObject.lookup(DEFAULT_POOL_FAMILY_KEY) > end > > def set_as_default > - MetadataObject.set(DEFAULT_ZONE_KEY, self) > + MetadataObject.set(DEFAULT_POOL_FAMILY_KEY, self) > end > end > diff --git a/src/app/views/instances/index.haml > b/src/app/views/instances/index.haml > index 9c2efb8..e33041e 100644 > --- a/src/app/views/instances/index.haml > +++ b/src/app/views/instances/index.haml > @@ -13,7 +13,7 @@ > { :name => "Pool name", :sort_attr => :name }, > | > { :name => "Alerts", :sortable => false }, > | > { :name => "Capacity", :sortable => false }, > | > - { :name => "Zone", :sort_attr => "zones.name" } > | > + { :name => "Pool Family", :sort_attr => "pool_families.name" } > | > ] > | > > > @@ -92,7 +92,7 @@ > %td.capacity > %span.good > %td > - =pool.zone.name > + =pool.pool_family.name > .grid_13 > %h2 Instances by Pool > - @pools.each do |pool| > diff --git a/src/app/views/pools/index.haml b/src/app/views/pools/index.haml > index 61cec18..a6455d5 100644 > --- a/src/app/views/pools/index.haml > +++ b/src/app/views/pools/index.haml > @@ -34,7 +34,7 @@ > %td > =pool.quota.total_instances > %td > - =pool.zone.name > + =pool.pool_family.name > > :javascript > $(document).ready(function () { > diff --git a/src/app/views/resources/pools/_list.haml > b/src/app/views/resources/pools/_list.haml > index b621dc2..51b25af 100644 > --- a/src/app/views/resources/pools/_list.haml > +++ b/src/app/views/resources/pools/_list.haml > @@ -19,4 +19,4 @@ > %td > =pool.quota.total_instances > %td > - =pool.zone.name > + =pool.pool_family.name > diff --git a/src/db/migrate/20110103160939_rename_zone_to_pool_family.rb > b/src/db/migrate/20110103160939_rename_zone_to_pool_family.rb > new file mode 100644 > index 0000000..f573960 > --- /dev/null > +++ b/src/db/migrate/20110103160939_rename_zone_to_pool_family.rb > @@ -0,0 +1,15 @@ > +class RenameZoneToPoolFamily< ActiveRecord::Migration > + def self.up > + rename_table :zones, :pool_families > + rename_table :cloud_accounts_zones, :cloud_accounts_pool_families > + rename_column :cloud_accounts_pool_families, :zone_id, :pool_family_id > + rename_column :pools, :zone_id, :pool_family_id > + end > + > + def self.down > + rename_column :pools, :zone_id, :pool_family_id > + rename_column :cloud_accounts_pool_families, :pool_family_id, :zone_id > + rename_table :cloud_accounts_pool_families, :cloud_accounts_zones > + rename_table :pool_families, :zones > + end > +end > diff --git a/src/features/support/hooks.rb b/src/features/support/hooks.rb > index 3f112ae..c21d323 100644 > --- a/src/features/support/hooks.rb > +++ b/src/features/support/hooks.rb > @@ -1,5 +1,5 @@ > Before do > - @default_zone_metadata = Factory.create(:default_zone_metadata) > + @default_pool_family_metadata = > Factory.create(:default_pool_family_metadata) > @allow_self_service_logins = Factory(:metadata_object, :key => > "allow_self_service_logins", :value => "true") > > @default_quota = Factory(:unlimited_quota) > diff --git a/src/spec/factories/metadata_object.rb > b/src/spec/factories/metadata_object.rb > index 9ac8021..fea2f88 100644 > --- a/src/spec/factories/metadata_object.rb > +++ b/src/spec/factories/metadata_object.rb > @@ -9,10 +9,10 @@ Factory.define :default_logins_metadata, :parent => > :metadata_object do |o| > o.value 'true' > end > > -Factory.define :default_zone_metadata, :parent => :metadata_object do |o| > - o.key 'default_zone' > - o.value {Factory.create(:zone).id} > - o.object_type 'Zone' > +Factory.define :default_pool_family_metadata, :parent => :metadata_object > do |o| > + o.key 'default_pool_family' > + o.value {Factory.create(:pool_family).id} > + o.object_type 'PoolFamily' > end > > Factory.define :default_quota_metadata, :parent => :metadata_object do |o| > diff --git a/src/spec/factories/pool.rb b/src/spec/factories/pool.rb > index 9c6b1f0..32e8c99 100644 > --- a/src/spec/factories/pool.rb > +++ b/src/spec/factories/pool.rb > @@ -1,6 +1,6 @@ > Factory.define :pool do |p| > p.sequence(:name) { |n| "mypool#{n}" } > - p.association :zone, :factory => :zone > + p.association :pool_family, :factory => :pool_family > p.association :quota > end > > diff --git a/src/spec/factories/zone.rb b/src/spec/factories/zone.rb > index a2d6aac..fad86d6 100644 > --- a/src/spec/factories/zone.rb > +++ b/src/spec/factories/zone.rb > @@ -1,4 +1,4 @@ > -Factory.define :zone do |z| > +Factory.define :pool_family do |z| > z.name 'default' > - z.description 'default zone' > + z.description 'default pool family' > end > diff --git a/src/spec/models/metadata_object_spec.rb > b/src/spec/models/metadata_object_spec.rb > index 39b7a8b..e3a74f8 100644 > --- a/src/spec/models/metadata_object_spec.rb > +++ b/src/spec/models/metadata_object_spec.rb > @@ -3,7 +3,7 @@ require 'spec_helper' > describe MetadataObject do > > before(:each) do > - @default_zone_metadata = Factory :default_zone_metadata > + @default_pool_family_metadata = Factory :default_pool_family_metadata > end > > it "lookup on nonexistent key should return nil" do > @@ -12,13 +12,13 @@ describe MetadataObject do > > it "should require a valid key" do > [nil, ""].each do |invalid_value| > - @default_zone_metadata.key = invalid_value > - @default_zone_metadata.should_not be_valid > + @default_pool_family_metadata.key = invalid_value > + @default_pool_family_metadata.should_not be_valid > end > end > > - it "default zone should return valid zone" do > - MetadataObject.lookup("default_zone").should be_a(Zone) > + it "default pool family should return valid pool family" do > + MetadataObject.lookup("default_pool_family").should be_a(PoolFamily) > end > > it "setting string value should work" do > diff --git a/src/spec/models/pool_family_spec.rb > b/src/spec/models/pool_family_spec.rb > new file mode 100644 > index 0000000..1210b48 > --- /dev/null > +++ b/src/spec/models/pool_family_spec.rb > @@ -0,0 +1,34 @@ > +require 'spec_helper' > + > +describe PoolFamily do > + > + before(:each) do > + @pool = Factory :pool > + @pool_family = @pool.pool_family > + @cloud_account = Factory :mock_cloud_account > + @cloud_account.pool_families<< @pool_family > + @cloud_account.save! > + end > + > + it "should validate default pool family" do > + @pool_family.should be_valid > + end > + > + it "should require a valid name" do > + [nil, ""].each do |invalid_value| > + @pool_family.name = invalid_value > + @pool_family.should_not be_valid > + end > + end > + > + it "should have pool" do > + @pool_family.pools.size.should == 1 > + @pool_family.pools[0].id.should == @pool.id > + end > + > + it "should have account" do > + @pool_family.cloud_accounts.size.should == 1 > + @pool_family.cloud_accounts[0].id.should == @cloud_account.id > + end > + > +end > diff --git a/src/spec/models/zone_spec.rb b/src/spec/models/zone_spec.rb > deleted file mode 100644 > index 2ede895..0000000 > --- a/src/spec/models/zone_spec.rb > +++ /dev/null > @@ -1,34 +0,0 @@ > -require 'spec_helper' > - > -describe Zone do > - > - before(:each) do > - @pool = Factory :pool > - @zone = @pool.zone > - @cloud_account = Factory :mock_cloud_account > - @cloud_account.zones<< @zone > - @cloud_account.save! > - end > - > - it "should validate default zone" do > - @zone.should be_valid > - end > - > - it "should require a valid name" do > - [nil, ""].each do |invalid_value| > - @zone.name = invalid_value > - @zone.should_not be_valid > - end > - end > - > - it "should have pool" do > - @zone.pools.size.should == 1 > - @zone.pools[0].id.should == @pool.id > - end > - > - it "should have account" do > - @zone.cloud_accounts.size.should == 1 > - @zone.cloud_accounts[0].id.should == @cloud_account.id > - end > - > -end > diff --git a/src/spec/spec_helper.rb b/src/spec/spec_helper.rb > index f7db6ee..90f0eaf 100644 > --- a/src/spec/spec_helper.rb > +++ b/src/spec/spec_helper.rb > @@ -56,7 +56,7 @@ Spec::Runner.configure do |config| > # For more information take a look at Spec::Runner::Configuration and > Spec::Runner > config.before(:each, :type => :controller) do > #activate_authlogic > - @default_zone_metadata = Factory.create(:default_zone_metadata) > + @default_pool_family_metadata = > Factory.create(:default_pool_family_metadata) > end > config.after(:each, :type => :controller) do > #current_user_session.destroy _______________________________________________ deltacloud-devel mailing list [email protected] https://fedorahosted.org/mailman/listinfo/deltacloud-devel
