Class: NS1::Client
- Inherits:
-
Object
- Object
- NS1::Client
- Includes:
- API::Errors, API::HttpStatusCodes, API::Records, API::Zones
- Defined in:
- lib/NS1/client.rb
Constant Summary collapse
- API_ENDPOINT =
'https://api.nsone.net/v1'.freeze
Constants included from API::Errors
API::Errors::ApiError, API::Errors::BadRequestError, API::Errors::NS1APIError, API::Errors::NotFoundError, API::Errors::ResponseParseError, API::Errors::UnauthorizedError
Constants included from API::HttpStatusCodes
API::HttpStatusCodes::HTTP_BAD_REQUEST_CODE, API::HttpStatusCodes::HTTP_NOT_FOUND_CODE, API::HttpStatusCodes::HTTP_OK_CODE, API::HttpStatusCodes::HTTP_UNAUTHORIZED_CODE
Instance Method Summary collapse
-
#initialize(api_key) ⇒ Client
constructor
A new instance of Client.
- #request(http_method, endpoint, params = nil) ⇒ Object
Methods included from API::Records
#create_record, #delete_record, #record, #update_record
Methods included from API::Zones
#create_zone, #delete_zone, #update_zone, #zone, #zones
Constructor Details
#initialize(api_key) ⇒ Client
Returns a new instance of Client.
19 20 21 |
# File 'lib/NS1/client.rb', line 19 def initialize(api_key) @api_key = api_key end |
Instance Method Details
#request(http_method, endpoint, params = nil) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/NS1/client.rb', line 23 def request(http_method, endpoint, params = nil) response = client.public_send(http_method, endpoint, params) parsed_response = Oj.load(response.body) return parsed_response if response.status == HTTP_OK_CODE raise error_class(response.status), Oj.load(response.body)["message"] rescue Oj::ParseError raise ResponseParseError, response.body end |