Class: Wavix::Buy::Numbers::Client
- Inherits:
-
Object
- Object
- Wavix::Buy::Numbers::Client
- Defined in:
- lib/wavix/buy/numbers/client.rb
Instance Method Summary collapse
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Wavix::Buy::Numbers::Types::ListNumbersResponse
Returns a paginated list of phone numbers available for purchase in the specified city.
Constructor Details
#initialize(client:) ⇒ void
10 11 12 |
# File 'lib/wavix/buy/numbers/client.rb', line 10 def initialize(client:) @client = client end |
Instance Method Details
#list(request_options: {}, **params) ⇒ Wavix::Buy::Numbers::Types::ListNumbersResponse
Returns a paginated list of phone numbers available for purchase in the specified city.
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 |
# File 'lib/wavix/buy/numbers/client.rb', line 30 def list(request_options: {}, **params) params = Wavix::Internal::Types::Utils.normalize_keys(params) query_params = {} query_params["text_enabled_only"] = params[:text_enabled_only] if params.key?(:text_enabled_only) query_params["page"] = params[:page] if params.key?(:page) query_params["per_page"] = params[:per_page] if params.key?(:per_page) request = Wavix::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "v1/buy/countries/#{URI.encode_uri_component(params[:country_id].to_s)}/cities/#{URI.encode_uri_component(params[:city_id].to_s)}/dids", query: query_params, 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::Buy::Numbers::Types::ListNumbersResponse.load(response.body) else error_class = Wavix::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |