Class: UCloud::Client
- Inherits:
-
Object
- Object
- UCloud::Client
- Defined in:
- lib/ucloud/client.rb
Instance Method Summary collapse
- #execute(action, parameters = {}) ⇒ Object
-
#initialize(public_key, private_key, region) ⇒ Client
constructor
A new instance of Client.
Constructor Details
#initialize(public_key, private_key, region) ⇒ Client
Returns a new instance of Client.
9 10 11 12 |
# File 'lib/ucloud/client.rb', line 9 def initialize(public_key, private_key, region) @public_key, @private_key, @region = public_key, private_key, region @uri = URI(UCloud::SERVER_URI) end |
Instance Method Details
#execute(action, parameters = {}) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/ucloud/client.rb', line 14 def execute(action, parameters = {}) params = parameters.inject({}) do |memo, pair| if pair[1].is_a?(Array) pair[1].each_with_index{|e, i| memo[[pair[0],i].join('.').to_sym] = e} else memo[pair[0].to_sym] = pair[1] end memo end params[:Region] ||= @region params.merge!(Action: action, PublicKey: @public_key) res = Net::HTTP.post_form(@uri, sign(params)) JSON.parse(res.body) end |