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


Reply via email to