Class: Wavix::Profile::Client
- Inherits:
-
Object
- Object
- Wavix::Profile::Client
- Defined in:
- lib/wavix/profile/client.rb
Instance Method Summary collapse
- #config ⇒ Wavix::Config::Client
-
#get(request_options: {}, **_params) ⇒ Wavix::Types::ProfileResponse
Returns the profile and billing details of the authenticated account.
- #initialize(client:) ⇒ void constructor
-
#update(request_options: {}, **params) ⇒ Wavix::Types::ProfileResponse
Updates the profile and billing details of the authenticated account.
Constructor Details
#initialize(client:) ⇒ void
9 10 11 |
# File 'lib/wavix/profile/client.rb', line 9 def initialize(client:) @client = client end |
Instance Method Details
#config ⇒ Wavix::Config::Client
80 81 82 |
# File 'lib/wavix/profile/client.rb', line 80 def config @config ||= Wavix::Profile::Config::Client.new(client: @client) end |
#get(request_options: {}, **_params) ⇒ Wavix::Types::ProfileResponse
Returns the profile and billing details of the authenticated account.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/wavix/profile/client.rb', line 24 def get(request_options: {}, **_params) request = Wavix::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v1/profile", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Wavix::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Wavix::Types::ProfileResponse.load(response.body) else error_class = Wavix::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#update(request_options: {}, **params) ⇒ Wavix::Types::ProfileResponse
Updates the profile and billing details of the authenticated account.
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/wavix/profile/client.rb', line 56 def update(request_options: {}, **params) params = Wavix::Internal::Types::Utils.normalize_keys(params) request = Wavix::Internal::JSON::Request.new( base_url: [:base_url], method: "PUT", path: "v1/profile", body: Wavix::Profile::Types::ProfileUpdateRequest.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Wavix::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Wavix::Types::ProfileResponse.load(response.body) else error_class = Wavix::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |