Class: FantasticstayApi::API
- Inherits:
-
Object
- Object
- FantasticstayApi::API
- Includes:
- Dry::Configurable, ApiExceptions, Constants, HttpStatusCodes
- Defined in:
- lib/fantasticstay_api/api.rb
Overview
Core class responsible for api interface operations
Direct Known Subclasses
Constant Summary collapse
- HTTP_STATUS_MAPPING =
{ HTTP_BAD_REQUEST_CODE => BadRequestError, HTTP_UNAUTHORIZED_CODE => UnauthorizedError, HTTP_FORBIDDEN_CODE => ForbiddenError, HTTP_NOT_FOUND_CODE => NotFoundError, HTTP_UNPROCESSABLE_ENTITY_CODE => UnprocessableEntityError, 'default' => ApiError }.freeze
- API_ENDPOINT =
'https://api.fsapp.io'
- API_TIMEOUT =
30
- API_TOKEN =
'TESTING'
Constants included from HttpStatusCodes
HttpStatusCodes::HTTP_BAD_REQUEST_CODE, HttpStatusCodes::HTTP_FORBIDDEN_CODE, HttpStatusCodes::HTTP_NOT_FOUND_CODE, HttpStatusCodes::HTTP_OK_CODE, HttpStatusCodes::HTTP_UNAUTHORIZED_CODE, HttpStatusCodes::HTTP_UNPROCESSABLE_ENTITY_CODE
Constants included from Constants
Constants::ACCEPT, Constants::ACCEPTED_OAUTH_SCOPES, Constants::ACCEPT_CHARSET, Constants::CACHE_CONTROL, Constants::CONTENT_LENGTH, Constants::CONTENT_TYPE, Constants::DATE, Constants::ETAG, Constants::HEADER_LAST, Constants::HEADER_LINK, Constants::HEADER_NEXT, Constants::LOCATION, Constants::META_FIRST, Constants::META_LAST, Constants::META_NEXT, Constants::META_PREV, Constants::META_REL, Constants::OAUTH_SCOPES, Constants::PARAM_INCLUDE_RELATED, Constants::PARAM_PAGE, Constants::PARAM_PER_PAGE, Constants::PARAM_START_PAGE, Constants::RATELIMIT_LIMIT, Constants::RATELIMIT_REMAINING, Constants::RATELIMIT_RESET, Constants::SERVER, Constants::USER_AGENT
Constants included from ApiExceptions
FantasticstayApi::ApiExceptions::APIExceptionError, FantasticstayApi::ApiExceptions::ApiError, FantasticstayApi::ApiExceptions::ApiRequestsQuotaReachedError, FantasticstayApi::ApiExceptions::BadRequestError, FantasticstayApi::ApiExceptions::ForbiddenError, FantasticstayApi::ApiExceptions::NotFoundError, FantasticstayApi::ApiExceptions::UnauthorizedError, FantasticstayApi::ApiExceptions::UnprocessableEntityError
Instance Method Summary collapse
-
#initialize(options = {}, &block) ⇒ API
constructor
Create new API.
-
#yield_or_eval(&block) ⇒ Object
private
Call block with argument.
Constructor Details
#initialize(options = {}, &block) ⇒ API
Create new API
56 57 58 59 60 61 62 63 64 |
# File 'lib/fantasticstay_api/api.rb', line 56 def initialize( = {}, &block) configure do |c| .each_key do |key| c.send("#{key}=", [key]) end end yield_or_eval(&block) if block_given? end |
Instance Method Details
#yield_or_eval(&block) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Call block with argument
69 70 71 72 73 |
# File 'lib/fantasticstay_api/api.rb', line 69 def yield_or_eval(&block) return unless block block.arity.positive? ? yield(self) : instance_eval(&block) end |