Sha256: cbaaad2a8f78d3a9c12e4b297b46a6adee5d31b52cb31e3c807ca0b0112d1888

Contents?: true

Size: 864 Bytes

Versions: 3

Compression:

Stored size: 864 Bytes

Contents

require 'acquia/cloud/entity'

module Acquia
  class Cloud
    class Database < Entity
      def initialize(cloud, site, database)
        @cloud = cloud
        @site = site
        @data = database
        @url = "/sites/#{@site}/dbs/#{@data['name']}"
      end

      def name
        data['name']
      end

      def copy(from, to)
        from = standardise_env(from)
        to = standardise_env(to)
        task = @cloud.api.post("#{@url}/db-copy/#{from}/#{to}")
        Task.new @cloud, @site, task
      end

      def backup_on(environment)
        @cloud.site(@site).environment(environment).backup_database(name)
      end

      private

      def standardise_env(env)
        case (env)
          when Environment
            env.name
          when String
            env
          else
            env.to_s
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
acquia-cloud-0.4.1 lib/acquia/cloud/database.rb
acquia-cloud-0.4.0 lib/acquia/cloud/database.rb
acquia-cloud-0.3.1 lib/acquia/cloud/database.rb