Class: CoresvDBBackup::Client
- Defined in:
- lib/coresv_db_backup/client.rb
Instance Method Summary collapse
-
#initialize(account:, server_name:, api_secret_key:) ⇒ Client
constructor
A new instance of Client.
- #post(ep, options = {}) ⇒ Object
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.
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 account.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 account.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", 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
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, = {}) params = { "account" => @account, "server_name" => @server_name, "api_secret_key" => @api_secret_key } .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 |