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::Types::AvailableNumberListResponse
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::Types::AvailableNumberListResponse
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::Types::AvailableNumberListResponse.load(response.body) else error_class = Wavix::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |