Class: VpsbClient::Api::CreateTrialRequest

Inherits:
PostRequest show all
Defined in:
lib/vpsb_client/api/create_trial_request.rb

Constant Summary collapse

MANDATORY_PARAM_NAMES =
[ :started_at, :hoster_id, :application_id, :plan_id, :comment, :os, :free_memory_mb, :cpu_type, :num_cores, :kernel, :client_hostname, :ruby_version, :rails_version, :datacenter, :cpu_mhz]

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from PostRequest

#run

Methods inherited from Request

#accept, #put_params, #query_params

Constructor Details

#initialize(http_client, trial) ⇒ CreateTrialRequest

Returns a new instance of CreateTrialRequest.



6
7
8
9
10
11
12
13
14
15
# File 'lib/vpsb_client/api/create_trial_request.rb', line 6

def initialize(http_client, trial)
  super(http_client)
  @trial = trial
  MANDATORY_PARAM_NAMES.each do |name|
    raise ArgumentError, "param #{name} is mandatory" unless @trial.keys.include?(name)
  end
  @trial.keys.each do |name|
    raise ArgumentError, "param #{name} is not allowed" unless MANDATORY_PARAM_NAMES.include?(name)
  end
end

Class Method Details

.trial(http_response) ⇒ Object



29
30
31
# File 'lib/vpsb_client/api/create_trial_request.rb', line 29

def self.trial(http_response)
  http_response.parsed_response
end

.trial_id(http_response) ⇒ Object



33
34
35
# File 'lib/vpsb_client/api/create_trial_request.rb', line 33

def self.trial_id(http_response)
  trial(http_response)['id']
end

Instance Method Details

#content_typeObject



25
26
27
# File 'lib/vpsb_client/api/create_trial_request.rb', line 25

def content_type
  'application/json'
end

#post_paramsObject



21
22
23
# File 'lib/vpsb_client/api/create_trial_request.rb', line 21

def post_params
  @post_params = { trial: @trial }
end

#url_pathObject



17
18
19
# File 'lib/vpsb_client/api/create_trial_request.rb', line 17

def url_path
  "/api/trials"
end