I needed to make a small change: On Mon, 2012-12-10 at 11:11 +0100, [email protected] wrote: > diff --git a/server/lib/cimi/helpers/database_helper.rb > b/server/lib/cimi/helpers/database_helper.rb > new file mode 100644 > index 0000000..d6aa55b > --- /dev/null > +++ b/server/lib/cimi/helpers/database_helper.rb > @@ -0,0 +1,46 @@ > +module Deltacloud > + module Helpers > + > + module Database > + > + def test_environment? > + Deltacloud.test_environment? > + end > + > + def store_attributes_for(model, values={}) > + return if test_environment? > + return if model.nil? or values.empty? > + current_db.entities.first_or_create(:be_kind => model.to_entity, > :be_id => model.id).update(values) > + end > + > + def load_attributes_for(model) > + return {} if test_environment? > + entity = get_entity(model) > + entity.nil? ? {} : entity.to_hash > + end > + > + def delete_attributes_for(model) > + return if test_environment? > + entity = get_entity(model) > + !entity.nil? && entity.destroy! > + end > + > + def get_entity(model) > + current_db.entities.first(:be_kind => model.to_entity, :be_id => > model.id) > + end > + > + def current_provider > + Thread.current[:provider] || ENV['API_PROVIDER'] || 'default' > + end > + > + # This method allows to store things into database based on current > driver > + # and provider. > + # > + def current_db > + Provider.first_or_create(:driver => driver_symbol.to_s, :url => > current_provider) > + end
Had to qualify Provider as Deltacloud::Database::Provider for this to work; pushed as e6c46db6 David
