Class: Voltaria::Drawdowns::Client
- Inherits:
-
Object
- Object
- Voltaria::Drawdowns::Client
- Defined in:
- lib/voltaria/drawdowns/client.rb
Instance Method Summary collapse
-
#create_drawdown_request(request_options: {}, **params) ⇒ Voltaria::Types::DrawdownResponse
Create a new drawdown request.
- #initialize(client:) ⇒ void constructor
-
#list_drawdown_checklists(request_options: {}, **params) ⇒ Voltaria::Types::PaginatedResponseDrawdownChecklistResponse
Retrieve all checklist items for a specific drawdown.
-
#list_drawdowns(request_options: {}, **params) ⇒ Voltaria::Types::PaginatedResponseDrawdownResponse
Retrieve a list of drawdowns.
Constructor Details
#initialize(client:) ⇒ void
9 10 11 |
# File 'lib/voltaria/drawdowns/client.rb', line 9 def initialize(client:) @client = client end |
Instance Method Details
#create_drawdown_request(request_options: {}, **params) ⇒ Voltaria::Types::DrawdownResponse
Create a new drawdown request.
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/voltaria/drawdowns/client.rb', line 70 def create_drawdown_request(request_options: {}, **params) params = Voltaria::Internal::Types::Utils.normalize_keys(params) request = Voltaria::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "v2/drawdowns", body: Voltaria::Drawdowns::Types::DrawdownCreatePayload.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Voltaria::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Voltaria::Types::DrawdownResponse.load(response.body) else error_class = Voltaria::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#list_drawdown_checklists(request_options: {}, **params) ⇒ Voltaria::Types::PaginatedResponseDrawdownChecklistResponse
Retrieve all checklist items for a specific drawdown
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
# File 'lib/voltaria/drawdowns/client.rb', line 109 def list_drawdown_checklists(request_options: {}, **params) params = Voltaria::Internal::Types::Utils.normalize_keys(params) query_param_names = %i[page page_size order_by q] query_params = {} query_params["page"] = params[:page] if params.key?(:page) query_params["page_size"] = params[:page_size] if params.key?(:page_size) query_params["order_by"] = params[:order_by] if params.key?(:order_by) query_params["q"] = params[:q] if params.key?(:q) params = params.except(*query_param_names) request = Voltaria::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v2/drawdowns/#{URI.encode_uri_component(params[:drawdown_id].to_s)}/checklists", query: query_params, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Voltaria::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Voltaria::Types::PaginatedResponseDrawdownChecklistResponse.load(response.body) else error_class = Voltaria::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#list_drawdowns(request_options: {}, **params) ⇒ Voltaria::Types::PaginatedResponseDrawdownResponse
Retrieve a list of drawdowns.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/voltaria/drawdowns/client.rb', line 28 def list_drawdowns(request_options: {}, **params) params = Voltaria::Internal::Types::Utils.normalize_keys(params) query_param_names = %i[page page_size order_by q] query_params = {} query_params["page"] = params[:page] if params.key?(:page) query_params["page_size"] = params[:page_size] if params.key?(:page_size) query_params["order_by"] = params[:order_by] if params.key?(:order_by) query_params["q"] = params[:q] if params.key?(:q) params.except(*query_param_names) request = Voltaria::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v2/drawdowns", query: query_params, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Voltaria::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Voltaria::Types::PaginatedResponseDrawdownResponse.load(response.body) else error_class = Voltaria::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |