Class: CoresvDBBackup::Client

Inherits:
Backup
  • Object
show all
Defined in:
lib/coresv_db_backup/client.rb

Instance Method Summary collapse

Methods inherited from Backup

#dump!, #dump_all!, #fetch_databases!

Constructor Details

#initialize(account:, server_name:, api_secret_key:) ⇒ Client

Returns a new instance of Client.

Raises:

  • (ArgumentError)


3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/coresv_db_backup/client.rb', line 3

def initialize( account: , server_name: , api_secret_key: )
  raise ArgumentError, "acoount should be String" unless .is_a?(String)
  raise ArgumentError, "server_name should be String" unless server_name.is_a?(String)
  raise ArgumentError, "api_secret_key should be String" unless api_secret_key.is_a?(String)
  raise ArgumentError, "acoount can't be blank" if .empty?
  raise ArgumentError, "server_name can't be blank" if server_name.empty?
  raise ArgumentError, "api_secret_key can't be blank" if api_secret_key.empty?

  instance_variable_set("@account", )
  instance_variable_set("@server_name", server_name)
  instance_variable_set("@api_secret_key", api_secret_key)
end

Instance Method Details

#post(ep, options = {}) ⇒ Object

Raises:



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/coresv_db_backup/client.rb', line 16

def post(ep, options = {})
  params = {
    "account" => @account,
    "server_name" => @server_name,
    "api_secret_key" => @api_secret_key
  }
  options.each do |k, v|
    params[k] = v
  end

  uri = URI.parse("https://#{api_host}#{ep}")
  res = Net::HTTP.post_form(uri, params)
  result = JSON.parse(res.body)
  raise APIError, "The API server returned status code #{res.code}" unless res.code == 200 || res.code == "200"
  raise APIError, "The response provided status code #{result["status_code"]}\n#{result["error_message"]}#{result["message"]}" unless result["status_code"] == 200

  result
end