Class: Apifreaks::Internal::Types::Model Abstract
- Inherits:
-
Object
- Object
- Apifreaks::Internal::Types::Model
- Includes:
- Type
- Defined in:
- lib/apifreaks/internal/types/model.rb,
lib/apifreaks/internal/types/model/field.rb
Overview
An abstract model that all data objects will inherit from
Direct Known Subclasses
Types::AirQualityRequest, Types::AirQualityResponse, Types::AirQualityResponseCurrent, Types::AirQualityResponseForecastValue, Types::AirQualityResponseForecastValueHourlyItem, Types::AirQualityResponseLocation, Types::AirQualityResponseLocationCity, Types::AirQualityResponseLocationContinentCode, Types::AirQualityResponseLocationZero, Types::AsnWhoisLookupRequest, Types::AsnWhoisLookupResponse, Types::AsnWhoisLookupResponseContacts, Types::AsnWhoisLookupResponseDownstreamsItem, Types::AsnWhoisLookupResponseParsedWhoisResponse, Types::AsnWhoisLookupResponseParsedWhoisResponseAbuseContactsItem, Types::AsnWhoisLookupResponseParsedWhoisResponseAutNumsItem, Types::AsnWhoisLookupResponseParsedWhoisResponseOrganization, Types::AsnWhoisLookupResponseParsedWhoisResponseTechnicalContactsItem, Types::AsnWhoisLookupResponsePeersItem, Types::AsnWhoisLookupResponseRouteObjectsItem, Types::AsnWhoisLookupResponseUpstreamsItem, Types::AstronomyLookupRequest, Types::AstronomyLookupResponse, Types::AstronomyLookupResponseAstronomy, Types::AstronomyLookupResponseAstronomyEvening, Types::AstronomyLookupResponseAstronomyMorning, Types::AstronomyLookupResponseLocation, Types::BadRequestErrorBody, Types::BulkCurrentWeatherRequest, Types::BulkCurrentWeatherRequestLocationsItem, Types::BulkCurrentWeatherResponse, Types::BulkCurrentWeatherResponseBulkItem, Types::BulkCurrentWeatherResponseBulkItemCurrent, Types::BulkCurrentWeatherResponseBulkItemCurrentAirQuality, Types::BulkCurrentWeatherResponseBulkItemCurrentAstronomy, Types::BulkCurrentWeatherResponseBulkItemLocation, Types::BulkCurrentWeatherResponseBulkItemLocationCity, Types::BulkCurrentWeatherResponseBulkItemLocationContinentCode, Types::BulkCurrentWeatherResponseBulkItemLocationZero, Types::BulkDomainAvailabilityCheckRequest, Types::BulkDomainAvailabilityCheckResponse, Types::BulkDomainAvailabilityCheckResponseBulkDomainAvailableResponseItem, Types::BulkDomainDNSLookupRequest, Types::BulkDomainDNSLookupResponse, Types::BulkDomainDNSLookupResponseBulkDNSInfoItem, Types::BulkDomainDNSLookupResponseBulkDNSInfoItemDNSRecordsItem, Types::BulkDomainDNSLookupResponseBulkDNSInfoItemDNSRecordsItemAddress, Types::BulkDomainDNSLookupResponseBulkDNSInfoItemDNSRecordsItemAdmin, Types::BulkDomainDNSLookupResponseBulkDNSInfoItemDNSRecordsItemOne, Types::BulkDomainDNSLookupResponseBulkDNSInfoItemDNSRecordsItemPriority, Types::BulkDomainDNSLookupResponseBulkDNSInfoItemDNSRecordsItemSingleName, Types::BulkDomainDNSLookupResponseBulkDNSInfoItemDNSRecordsItemStrings, Types::BulkDomainDNSLookupResponseBulkDNSInfoItemDNSTypes, Types::BulkDomainWhoisLookupRequest, Types::BulkDomainWhoisLookupResponse, Types::BulkDomainWhoisLookupResponseBulkWhoisResponseItem, Types::BulkDomainWhoisLookupResponseBulkWhoisResponseItemAdministrativeContact, Types::BulkDomainWhoisLookupResponseBulkWhoisResponseItemBillingContact, Types::BulkDomainWhoisLookupResponseBulkWhoisResponseItemDomainRegistrar, Types::BulkDomainWhoisLookupResponseBulkWhoisResponseItemRegistrantContact, Types::BulkDomainWhoisLookupResponseBulkWhoisResponseItemRegistryData, Types::BulkDomainWhoisLookupResponseBulkWhoisResponseItemRegistryDataDomainRegistrar, Types::BulkDomainWhoisLookupResponseBulkWhoisResponseItemResellerContact, Types::BulkDomainWhoisLookupResponseBulkWhoisResponseItemTechnicalContact, Types::BulkEmailValidateRequest, Types::BulkEmailValidateRequestEmailDataItem, Types::BulkEmailValidateResponse, Types::BulkEmailValidateResponseEmailValidationResponsesItem, Types::BulkEmailValidateResponseEmailValidationResponsesItemAccount, Types::BulkEmailValidateResponseEmailValidationResponsesItemAddress, Types::BulkEmailValidateResponseEmailValidationResponsesItemAddressLocation, Types::BulkEmailValidateResponseEmailValidationResponsesItemAddressSecurity, Types::BulkEmailValidateResponseEmailValidationResponsesItemDNS, Types::BulkEmailValidateResponseEmailValidationResponsesItemDomain, Types::BulkGeolocationLookupRequest, Types::BulkGeolocationLookupResponseItem, Types::BulkGeolocationLookupResponseItemAbuseItem, Types::BulkGeolocationLookupResponseItemCountryMetadata, Types::BulkGeolocationLookupResponseItemCurrency, Types::BulkGeolocationLookupResponseItemLocation, Types::BulkGeolocationLookupResponseItemNetwork, Types::BulkGeolocationLookupResponseItemNetworkAsn, Types::BulkGeolocationLookupResponseItemNetworkCompany, Types::BulkGeolocationLookupResponseItemSecurity, Types::BulkGeolocationLookupResponseItemTimeZone, Types::BulkGeolocationLookupResponseItemTimeZoneDstEnd, Types::BulkGeolocationLookupResponseItemTimeZoneDstStart, Types::BulkGeolocationLookupResponseItemUserAgent, Types::BulkGeolocationLookupResponseItemUserAgentDevice, Types::BulkGeolocationLookupResponseItemUserAgentEngine, Types::BulkGeolocationLookupResponseItemUserAgentOperatingSystem, Types::BulkIPSecurityLookupRequest, Types::BulkIPSecurityLookupResponseItem, Types::BulkIPSecurityLookupResponseItemSecurity, Types::BulkPhoneValidateRequest, Types::BulkPhoneValidateRequestNumbersItem, Types::BulkPhoneValidateResponseItem, Types::BulkPhoneValidateResponseItemFormats, Types::BulkPhoneValidateResponseItemRawInput, Types::BulkScreenshotCaptureRequest, Types::BulkScreenshotCaptureRequestURLsItem, Types::BulkScreenshotCaptureResponse, Types::BulkScreenshotCaptureResponseMetaData, Types::BulkScreenshotCaptureResponseResultsItem, Types::BulkScreenshotCaptureResponseResultsItemURL, Types::BulkUserAgentLookupRequest, Types::BulkUserAgentLookupResponseItem, Types::BulkUserAgentLookupResponseItemDevice, Types::BulkUserAgentLookupResponseItemEngine, Types::BulkUserAgentLookupResponseItemOperatingSystem, Types::BulkVatRateByCountryRequest, Types::BulkVatRateByCountryRequestCountriesItem, Types::BulkVatRateByCountryResponse, Types::BulkVatRateByCountryResponseCountriesItem, Types::BulkZipcodeLookupRequest, Types::BulkZipcodeLookupResponse, Types::BulkZipcodeLookupResponseResultsItem, Types::CommodityFluctuationRequest, Types::CommodityFluctuationResponse, Types::CommodityFluctuationResponseMetadataValue, Types::CommodityFluctuationResponseRatesValue, Types::CommodityHistoricalRatesRequest, Types::CommodityHistoricalRatesResponse, Types::CommodityHistoricalRatesResponseMetadataValue, Types::CommodityHistoricalRatesResponseRatesValue, Types::CommodityLatestRatesRequest, Types::CommodityLatestRatesResponse, Types::CommodityLatestRatesResponseMetadataValue, Types::CommoditySymbolsRequest, Types::CommoditySymbolsResponse, Types::CommoditySymbolsResponseSymbolsItem, Types::CommoditySymbolsResponseSymbolsItemCurrency, Types::CommoditySymbolsResponseSymbolsItemUnit, Types::CommodityTimeSeriesRequest, Types::CommodityTimeSeriesResponse, Types::CommodityTimeSeriesResponseMetadataValue, Types::CommodityTimeSeriesResponseRatesValueValue, Types::ContentTooLargeErrorBody, Types::CurrencyConvertByIPRequest, Types::CurrencyConvertByIPResponse, Types::CurrencyConvertHistoricalRequest, Types::CurrencyConvertHistoricalResponse, Types::CurrencyConvertLatestRequest, Types::CurrencyConvertLatestResponse, Types::CurrencyFluctuationRequest, Types::CurrencyFluctuationResponse, Types::CurrencyFluctuationResponseRateFluctuationsValue, Types::CurrencyHistoricalLimitsRequest, Types::CurrencyHistoricalLimitsResponse, Types::CurrencyHistoricalRatesRequest, Types::CurrencyHistoricalRatesResponse, Types::CurrencyLatestRatesRequest, Types::CurrencyLatestRatesResponse, Types::CurrencySupportedRequest, Types::CurrencySupportedResponse, Types::CurrencySupportedResponseSupportedCurrenciesMapValue, Types::CurrencySymbolsRequest, Types::CurrencySymbolsResponse, Types::CurrencyTimeSeriesRequest, Types::CurrencyTimeSeriesResponse, Types::CurrencyTimeSeriesResponseHistoricalRatesListItem, Types::CurrentWeatherRequest, Types::CurrentWeatherResponse, Types::CurrentWeatherResponseCurrent, Types::CurrentWeatherResponseCurrentAirQuality, Types::CurrentWeatherResponseCurrentAstronomy, Types::CurrentWeatherResponseLocation, Types::CurrentWeatherResponseLocationCity, Types::CurrentWeatherResponseLocationContinentCode, Types::CurrentWeatherResponseLocationZero, Types::DomainAvailabilityCheckRequest, Types::DomainAvailabilityCheckResponse, Types::DomainAvailabilitySuggestionsRequest, Types::DomainAvailabilitySuggestionsResponse, Types::DomainAvailabilitySuggestionsResponseDomainAvailableResponseItem, Types::DomainDNSHistoryRequest, Types::DomainDNSHistoryResponse, Types::DomainDNSHistoryResponseHistoricalDNSRecordsItem, Types::DomainDNSHistoryResponseHistoricalDNSRecordsItemDNSRecordsItem, Types::DomainDNSHistoryResponseHistoricalDNSRecordsItemDNSRecordsItemAddress, Types::DomainDNSHistoryResponseHistoricalDNSRecordsItemDNSRecordsItemAdmin, Types::DomainDNSHistoryResponseHistoricalDNSRecordsItemDNSRecordsItemOne, Types::DomainDNSHistoryResponseHistoricalDNSRecordsItemDNSRecordsItemPriority, Types::DomainDNSHistoryResponseHistoricalDNSRecordsItemDNSRecordsItemSingleName, Types::DomainDNSHistoryResponseHistoricalDNSRecordsItemDNSRecordsItemStrings, Types::DomainDNSHistoryResponseHistoricalDNSRecordsItemDNSTypes, Types::DomainDNSLookupRequest, Types::DomainDNSLookupResponse, Types::DomainDNSLookupResponseDNSRecordsItem, Types::DomainDNSLookupResponseDNSRecordsItemAddress, Types::DomainDNSLookupResponseDNSRecordsItemAdmin, Types::DomainDNSLookupResponseDNSRecordsItemOne, Types::DomainDNSLookupResponseDNSRecordsItemPriority, Types::DomainDNSLookupResponseDNSRecordsItemSingleName, Types::DomainDNSLookupResponseDNSRecordsItemStrings, Types::DomainDNSLookupResponseDNSTypes, Types::DomainDNSReverseRequest, Types::DomainDNSReverseResponse, Types::DomainDNSReverseResponseReverseDNSRecordsItem, Types::DomainDNSReverseResponseReverseDNSRecordsItemDNSRecordsItem, Types::DomainDNSReverseResponseReverseDNSRecordsItemDNSRecordsItemAddress, Types::DomainDNSReverseResponseReverseDNSRecordsItemDNSRecordsItemAdmin, Types::DomainDNSReverseResponseReverseDNSRecordsItemDNSRecordsItemOne, Types::DomainDNSReverseResponseReverseDNSRecordsItemDNSRecordsItemPriority, Types::DomainDNSReverseResponseReverseDNSRecordsItemDNSRecordsItemSingleName, Types::DomainDNSReverseResponseReverseDNSRecordsItemDNSRecordsItemStrings, Types::DomainDNSReverseResponseReverseDNSRecordsItemDNSTypes, Types::DomainSslChainLookupRequest, Types::DomainSslChainLookupResponse, Types::DomainSslChainLookupResponseSslCertificatesItem, Types::DomainSslChainLookupResponseSslCertificatesItemExtensions, Types::DomainSslChainLookupResponseSslCertificatesItemExtensionsAuthorityInfoAccess, Types::DomainSslChainLookupResponseSslCertificatesItemExtensionsCertificatePolicies, Types::DomainSslChainLookupResponseSslCertificatesItemExtensionsCertificatePoliciesPolicyQualifier, Types::DomainSslChainLookupResponseSslCertificatesItemExtensionsCertificatePoliciesPolicyQualifierUserNotice, Types::DomainSslChainLookupResponseSslCertificatesItemExtensionsCertificatePoliciesPolicyQualifierUserNoticeNoticeRef, Types::DomainSslChainLookupResponseSslCertificatesItemExtensionsSubjectAlternativeNames, Types::DomainSslChainLookupResponseSslCertificatesItemIssuer, Types::DomainSslChainLookupResponseSslCertificatesItemPublicKey, Types::DomainSslChainLookupResponseSslCertificatesItemSubject, Types::DomainSslLookupRequest, Types::DomainSslLookupResponse, Types::DomainSslLookupResponseSslCertificatesItem, Types::DomainSslLookupResponseSslCertificatesItemExtensions, Types::DomainSslLookupResponseSslCertificatesItemExtensionsAuthorityInfoAccess, Types::DomainSslLookupResponseSslCertificatesItemExtensionsCertificatePolicies, Types::DomainSslLookupResponseSslCertificatesItemExtensionsCertificatePoliciesPolicyQualifier, Types::DomainSslLookupResponseSslCertificatesItemExtensionsCertificatePoliciesPolicyQualifierUserNotice, Types::DomainSslLookupResponseSslCertificatesItemExtensionsCertificatePoliciesPolicyQualifierUserNoticeNoticeRef, Types::DomainSslLookupResponseSslCertificatesItemExtensionsSubjectAlternativeNames, Types::DomainSslLookupResponseSslCertificatesItemIssuer, Types::DomainSslLookupResponseSslCertificatesItemPublicKey, Types::DomainSslLookupResponseSslCertificatesItemSubject, Types::DomainWhoisHistoryRequest, Types::DomainWhoisHistoryResponse, Types::DomainWhoisHistoryResponseWhoisDomainsHistoricalItem, Types::DomainWhoisHistoryResponseWhoisDomainsHistoricalItemAdministrativeContact, Types::DomainWhoisHistoryResponseWhoisDomainsHistoricalItemBillingContact, Types::DomainWhoisHistoryResponseWhoisDomainsHistoricalItemDomainRegistrar, Types::DomainWhoisHistoryResponseWhoisDomainsHistoricalItemRegistrantContact, Types::DomainWhoisHistoryResponseWhoisDomainsHistoricalItemRegistryData, Types::DomainWhoisHistoryResponseWhoisDomainsHistoricalItemRegistryDataDomainRegistrar, Types::DomainWhoisHistoryResponseWhoisDomainsHistoricalItemResellerContact, Types::DomainWhoisHistoryResponseWhoisDomainsHistoricalItemTechnicalContact, Types::DomainWhoisLookupRequest, Types::DomainWhoisLookupResponse, Types::DomainWhoisLookupResponseAdministrativeContact, Types::DomainWhoisLookupResponseBillingContact, Types::DomainWhoisLookupResponseDomainRegistrar, Types::DomainWhoisLookupResponseRegistrantContact, Types::DomainWhoisLookupResponseRegistryData, Types::DomainWhoisLookupResponseRegistryDataDomainRegistrar, Types::DomainWhoisLookupResponseResellerContact, Types::DomainWhoisLookupResponseTechnicalContact, Types::DomainWhoisReverseRequest, Types::DomainWhoisReverseResponse, Types::DomainWhoisReverseResponseWhoisDomainsHistoricalItem, Types::DomainWhoisReverseResponseWhoisDomainsHistoricalItemAdministrativeContact, Types::DomainWhoisReverseResponseWhoisDomainsHistoricalItemAdministrativeContactAdministrativeContact, Types::DomainWhoisReverseResponseWhoisDomainsHistoricalItemAdministrativeContactBillingContact, Types::DomainWhoisReverseResponseWhoisDomainsHistoricalItemAdministrativeContactDomainRegistrar, Types::DomainWhoisReverseResponseWhoisDomainsHistoricalItemAdministrativeContactRegistrantContact, Types::DomainWhoisReverseResponseWhoisDomainsHistoricalItemAdministrativeContactRegistryData, Types::DomainWhoisReverseResponseWhoisDomainsHistoricalItemAdministrativeContactRegistryDataDomainRegistrar, Types::DomainWhoisReverseResponseWhoisDomainsHistoricalItemAdministrativeContactResellerContact, Types::DomainWhoisReverseResponseWhoisDomainsHistoricalItemAdministrativeContactTechnicalContact, Types::DomainWhoisReverseResponseWhoisDomainsHistoricalItemCompanyname, Types::EmailValidateRequest, Types::EmailValidateResponse, Types::EmailValidateResponseAccount, Types::EmailValidateResponseAddress, Types::EmailValidateResponseAddressLocation, Types::EmailValidateResponseAddressSecurity, Types::EmailValidateResponseDNS, Types::EmailValidateResponseDomain, Types::FloodForecastRequest, Types::FloodForecastResponse, Types::FloodForecastResponseForecastValue, Types::FloodForecastResponseForecastValueDaily, Types::FloodForecastResponseLocation, Types::FloodForecastResponseLocationCity, Types::FloodForecastResponseLocationContinentCode, Types::FloodForecastResponseLocationZero, Types::ForbiddenErrorBody, Types::GatewayTimeoutErrorBody, Types::GeocoderReverseRequest, Types::GeocoderReverseResponse, Types::GeocoderReverseResponsePoiItem, Types::GeocoderSearchRequest, Types::GeocoderSearchResponseItem, Types::GeocoderSearchResponseItemPoiItem, Types::GeolocationLookupRequest, Types::GeolocationLookupResponse, Types::GeolocationLookupResponseAbuseItem, Types::GeolocationLookupResponseCountryMetadata, Types::GeolocationLookupResponseCurrency, Types::GeolocationLookupResponseLocation, Types::GeolocationLookupResponseNetwork, Types::GeolocationLookupResponseNetworkAsn, Types::GeolocationLookupResponseNetworkCompany, Types::GeolocationLookupResponseSecurity, Types::GeolocationLookupResponseTimeZone, Types::GeolocationLookupResponseTimeZoneDstEnd, Types::GeolocationLookupResponseTimeZoneDstStart, Types::GeolocationLookupResponseUserAgent, Types::GeolocationLookupResponseUserAgentDevice, Types::GeolocationLookupResponseUserAgentEngine, Types::GeolocationLookupResponseUserAgentOperatingSystem, Types::GetAdminLevelsRequest, Types::GetAdminLevelsResponse, Types::GetAdminUnitDetailsRequest, Types::GetAdminUnitDetailsResponse, Types::GetAdminUnitsRequest, Types::GetAdminUnitsResponse, Types::GetAdminUnitsResponseAdminUnitsItem, Types::GetCitiesRequest, Types::GetCitiesResponse, Types::GetCitiesResponseCitiesItem, Types::GetCitiesResponseCitiesItemAdminUnit, Types::GetCountriesRequest, Types::GetCountriesResponse, Types::GetCountriesResponseCountriesItem, Types::GetCountryDetailsRequest, Types::GetCountryDetailsResponse, Types::GetFlagsRequest, Types::GetRegionsRequest, Types::GetRegionsResponse, Types::GetSubregionsRequest, Types::GetSubregionsResponse, Types::GetSupportedFlagsRequest, Types::GetSupportedFlagsResponseItem, Types::GrammarCorrectRequest, Types::GrammarCorrectResponse, Types::GrammarDetectRequest, Types::GrammarDetectResponse, Types::GrammarDetectResponseGrammarErrorsItem, Types::HistoricalWeatherRequest, Types::HistoricalWeatherResponse, Types::HistoricalWeatherResponseHistorical, Types::HistoricalWeatherResponseHistoricalAstronomy, Types::HistoricalWeatherResponseHistoricalDaily, Types::HistoricalWeatherResponseHistoricalHourlyItem, Types::HistoricalWeatherResponseLocation, Types::HistoricalWeatherResponseLocationCity, Types::HistoricalWeatherResponseLocationContinentCode, Types::HistoricalWeatherResponseLocationZero, Types::IPSecurityLookupRequest, Types::IPSecurityLookupResponse, Types::IPSecurityLookupResponseSecurity, Types::IPWhoisLookupRequest, Types::IPWhoisLookupResponse, Types::IPWhoisLookupResponseAbuseContactsItem, Types::IPWhoisLookupResponseAdministrativeContactsItem, Types::IPWhoisLookupResponseInetNumsItem, Types::IPWhoisLookupResponseIrt, Types::IPWhoisLookupResponseOrganization, Types::IPWhoisLookupResponseTechnicalContactsItem, Types::IbanValidateRequest, Types::IbanValidateResponse, Types::IbanValidateResponseBankData, Types::IbanValidateResponseValidation, Types::InternalServerErrorBody, Types::LockedErrorBody, Types::MarineWeatherRequest, Types::MarineWeatherResponse, Types::MarineWeatherResponseCurrent, Types::MarineWeatherResponseForecastValue, Types::MarineWeatherResponseForecastValueDaily, Types::MarineWeatherResponseForecastValueHourlyItem, Types::MarineWeatherResponseForecastValueMinutelyItem, Types::MarineWeatherResponseLocation, Types::MarineWeatherResponseLocationCity, Types::MarineWeatherResponseLocationContinentCode, Types::MarineWeatherResponseLocationZero, Types::MethodNotAllowedErrorBody, Types::NoResponseErrorBody, Types::NotAcceptableErrorBody, Types::NotFoundErrorBody, Types::OcrPredictRequest, Types::OcrPredictResponse, Types::OcrPredictResponseOcrText, Types::PaymentRequiredErrorBody, Types::PdfCompressRequest, Types::PdfCompressResponse, Types::PdfConvertToBmpRequest, Types::PdfConvertToBmpResponse, Types::PdfConvertToGifRequest, Types::PdfConvertToGifResponse, Types::PdfConvertToJpgRequest, Types::PdfConvertToJpgResponse, Types::PdfConvertToPngRequest, Types::PdfConvertToPngResponse, Types::PdfConvertToTiffRequest, Types::PdfConvertToTiffResponse, Types::PdfDecryptRequest, Types::PdfDecryptResponse, Types::PdfDeleteFileRequest, Types::PdfDeleteFileResponse, Types::PdfDownloadResourceRequest, Types::PdfEncryptRequest, Types::PdfEncryptResponse, Types::PdfExtractPagesRequest, Types::PdfExtractPagesResponse, Types::PdfGetFileStatusRequest, Types::PdfGetFileStatusResponse, Types::PdfGetTaskStatusRequest, Types::PdfGetTaskStatusResponse, Types::PdfLinearizeRequest, Types::PdfLinearizeResponse, Types::PdfListFilesRequest, Types::PdfListFilesResponse, Types::PdfListFilesResponseFilesItem, Types::PdfMergeRequest, Types::PdfMergeResponse, Types::PdfRemovePagesRequest, Types::PdfRemovePagesResponse, Types::PdfRestrictRequest, Types::PdfRestrictResponse, Types::PdfRotateRequest, Types::PdfRotateResponse, Types::PdfSplitRequest, Types::PdfSplitResponse, Types::PdfUnrestrictRequest, Types::PdfUnrestrictResponse, Types::PdfUploadBinaryRequest, Types::PdfUploadBinaryResponse, Types::PdfUploadResourcesRequest, Types::PdfUploadResourcesResponse, Types::PdfUploadResourcesResponseFilesItem, Types::PhoneValidateRequest, Types::PhoneValidateResponse, Types::PhoneValidateResponseFormats, Types::PhoneValidateResponseRawInput, Types::ProxyAuthenticationRequiredErrorBody, Types::ReadabilityScoreRequest, Types::ReadabilityScoreResponse, Types::ReadabilityScoreResponseReadabilityScores, Types::ReadabilityScoreResponseReadabilityScoresAutomatedReadabilityIndex, Types::ReadabilityScoreResponseReadabilityScoresColemanLiauIndex, Types::ReadabilityScoreResponseReadabilityScoresFleschKincaidGrade, Types::ReadabilityScoreResponseReadabilityScoresFleschReadingEase, Types::ReadabilityScoreResponseReadabilityScoresGunningFog, Types::ReadabilityScoreResponseReadabilityScoresSmogIndex, Types::ReadabilityScoreResponseSentenceReadabilityItem, Types::RequestTimeoutErrorBody, Types::ScreenshotCaptureRequest, Types::ServiceUnavailableErrorBody, Types::SubdomainsLookupRequest, Types::SubdomainsLookupResponse, Types::SubdomainsLookupResponseSubdomainsItem, Types::SwiftCodeFindRequest, Types::SwiftCodeLookupRequest, Types::SwiftCodeLookupResponse, Types::TimezoneConvertRequest, Types::TimezoneConvertResponse, Types::TimezoneLookupRequest, Types::TimezoneLookupResponse, Types::TimezoneLookupResponseAirportDetails, Types::TimezoneLookupResponseLoCodeDetails, Types::TimezoneLookupResponseLocation, Types::TimezoneLookupResponseTimeZone, Types::TimezoneLookupResponseTimeZoneDstEnd, Types::TimezoneLookupResponseTimeZoneDstStart, Types::TooManyRequestsErrorBody, Types::UnauthorizedErrorBody, Types::UnsupportedMediaTypeErrorBody, Types::UserAgentLookupRequest, Types::UserAgentLookupResponse, Types::UserAgentLookupResponseDevice, Types::UserAgentLookupResponseEngine, Types::UserAgentLookupResponseOperatingSystem, Types::VatRateByCountryRequest, Types::VatRateByCountryResponseItem, Types::VatRateByIPRequest, Types::VatRateByIPResponseItem, Types::VatSupportedCountriesRequest, Types::VatSupportedCountriesResponse, Types::VatSupportedCountriesResponseVatSupportedCountriesAndStatesItem, Types::VatValidateRequest, Types::VatValidateResponse, Types::VatValidateResponseCompany, Types::VatValidateResponseValidation, Types::WeakWordsDetectRequest, Types::WeakWordsDetectResponse, Types::WeakWordsDetectResponseWeakWordsItem, Types::WeatherForecastRequest, Types::WeatherForecastResponse, Types::WeatherForecastResponseForecastValue, Types::WeatherForecastResponseForecastValueAstronomy, Types::WeatherForecastResponseForecastValueDaily, Types::WeatherForecastResponseForecastValueHourlyItem, Types::WeatherForecastResponseForecastValueMinutelyItem, Types::WeatherForecastResponseLocation, Types::WeatherForecastResponseLocationCity, Types::WeatherForecastResponseLocationContinentCode, Types::WeatherForecastResponseLocationZero, Types::WeatherTimeSeriesRequest, Types::WeatherTimeSeriesResponse, Types::WeatherTimeSeriesResponseHistoricalValue, Types::WeatherTimeSeriesResponseHistoricalValueAstronomy, Types::WeatherTimeSeriesResponseHistoricalValueDaily, Types::WeatherTimeSeriesResponseHistoricalValueHourlyItem, Types::WeatherTimeSeriesResponseLocation, Types::WeatherTimeSeriesResponseLocationCity, Types::WeatherTimeSeriesResponseLocationContinentCode, Types::WeatherTimeSeriesResponseLocationZero, Types::WebScrapeRequest, Types::WebScrapeRequestBody, Types::WebScrapeRequestBodyBlockURL, Types::WebScrapeRequestBodyBlockURLCookiesItem, Types::WebScrapeRequestBodyBlockURLInstructionsItem, Types::WebScrapeRequestBodyBlockURLInstructionsItemBlockElement, Types::WebScrapeRequestBodyBlockURLInstructionsItemClick, Types::WebScrapeRequestBodyBlockURLInstructionsItemClickButtonByValue, Types::WebScrapeRequestBodyBlockURLInstructionsItemClickButtonByValueClickButtonByValue, Types::WebScrapeRequestBodyBlockURLInstructionsItemClickIfExist, Types::WebScrapeRequestBodyBlockURLInstructionsItemConditionalCheck, Types::WebScrapeRequestBodyBlockURLInstructionsItemEnter, Types::WebScrapeRequestBodyBlockURLInstructionsItemExtract, Types::WebScrapeRequestBodyBlockURLInstructionsItemExtractExtract, Types::WebScrapeRequestBodyBlockURLInstructionsItemFill, Types::WebScrapeRequestBodyBlockURLInstructionsItemFillFill, Types::WebScrapeRequestBodyBlockURLInstructionsItemFillImageCaptcha, Types::WebScrapeRequestBodyBlockURLInstructionsItemGeneralImageCaptcha, Types::WebScrapeRequestBodyBlockURLInstructionsItemGeneralImageCaptchaGeneralImageCaptchaItem, Types::WebScrapeRequestBodyBlockURLInstructionsItemJsExe, Types::WebScrapeRequestBodyBlockURLInstructionsItemMoveToRelativeTab, Types::WebScrapeRequestBodyBlockURLInstructionsItemNewTab, Types::WebScrapeRequestBodyBlockURLInstructionsItemResolveAudioCaptcha, Types::WebScrapeRequestBodyBlockURLInstructionsItemSaveimage, Types::WebScrapeRequestBodyBlockURLInstructionsItemScreenshot, Types::WebScrapeRequestBodyBlockURLInstructionsItemScreenshotScreenshot, Types::WebScrapeRequestBodyBlockURLInstructionsItemSelect, Types::WebScrapeRequestBodyBlockURLInstructionsItemSelectSelect, Types::WebScrapeRequestBodyBlockURLInstructionsItemSwitchToIframe, Types::WebScrapeRequestBodyBlockURLInstructionsItemSwitchToParentFrame, Types::WebScrapeRequestBodyBlockURLInstructionsItemWait, Types::WebScrapeRequestBodyBlockURLInstructionsItemWaitFor, Types::WebScrapeRequestBodyOne, Types::WebScrapeRequestBodyOneInstructionsItem, Types::WebScrapeRequestBodyOneInstructionsItemExtract, Types::WebScrapeRequestBodyOneInstructionsItemExtractExtract, Types::WebScrapeRequestBodyOneInstructionsItemGetForm, Types::WebScrapeRequestBodyOneInstructionsItemGetFormGetForm, Types::WebScrapeRequestBodyOneInstructionsItemGetFormGetFormData, Types::WebScrapeRequestBodyOneInstructionsItemGetPage, Types::WebScrapeRequestBodyOneInstructionsItemGetPageGetPage, Types::WebScrapeRequestBodyOneInstructionsItemPostForm, Types::WebScrapeRequestBodyOneInstructionsItemPostFormPostForm, Types::WebScrapeRequestBodyOneInstructionsItemPostFormPostFormData, Types::WebScrapeRequestProxy, Types::WebScrapeResponse, Types::ZipcodeDistanceMatchRequest, Types::ZipcodeDistanceMatchResponse, Types::ZipcodeDistanceMatchResponseResultsItem, Types::ZipcodeDistanceRequest, Types::ZipcodeDistanceResponse, Types::ZipcodeDistanceResponseResultsItem, Types::ZipcodeLookupRequest, Types::ZipcodeLookupResponse, Types::ZipcodeLookupResponseResultsItem, Types::ZipcodeSearchByCityRequest, Types::ZipcodeSearchByCityResponse, Types::ZipcodeSearchByRadiusRequest, Types::ZipcodeSearchByRadiusResponse, Types::ZipcodeSearchByRadiusResponseResultsItem, Types::ZipcodeSearchByRegionRequest, Types::ZipcodeSearchByRegionResponse
Defined Under Namespace
Classes: Field
Class Method Summary collapse
- .===(instance) ⇒ Object
-
.add_extra_field_definition(name:, type:) ⇒ void
private
Adds a new field definition into the class’s extra fields registry.
-
.coerce(value, strict: (respond_to?(:strict?) ? strict? : false)) ⇒ Object
rubocop:disable Lint/UnusedMethodArgument.
-
.extra_fields ⇒ Hash<Symbol, Field>
private
Any extra fields that have been created from instantiation.
-
.field(name, type, optional: false, nullable: false, api_name: nil, default: nil) ⇒ void
Define a new field on this model.
-
.fields ⇒ Hash<Symbol, Field>
private
The defined fields for this model.
-
.literal(name, value, api_name: nil) ⇒ void
Define a new literal for this model.
- .load(str) ⇒ Object
Instance Method Summary collapse
- #==(other) ⇒ Object
-
#initialize(values = {}) ⇒ self
constructor
Creates a new instance of this model TODO: Should all this logic be in ‘#coerce` instead?.
- #inspect ⇒ String
- #to_h ⇒ Object
Methods included from Type
Methods included from JSON::Serializable
Constructor Details
#initialize(values = {}) ⇒ self
Creates a new instance of this model TODO: Should all this logic be in ‘#coerce` instead?
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 |
# File 'lib/apifreaks/internal/types/model.rb', line 138 def initialize(values = {}) @data = {} values = Utils.symbolize_keys(values.dup) self.class.fields.each do |field_name, field| value = values.delete(field.api_name.to_sym) || values.delete(field.api_name) || values.delete(field_name) field_value = value || (if field.literal? field.value elsif field.default field.default end) @data[field_name] = Utils.coerce(field.type, field_value) end # Any remaining values in the input become extra fields values.each do |name, value| self.class.add_extra_field_definition(name: name, type: value.class) @data[name.to_sym] = value end end |
Class Method Details
.===(instance) ⇒ Object
127 128 129 |
# File 'lib/apifreaks/internal/types/model.rb', line 127 def ===(instance) instance.class.ancestors.include?(self) end |
.add_extra_field_definition(name:, type:) ⇒ void
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.
This method returns an undefined value.
Adds a new field definition into the class’s extra fields registry
88 89 90 91 92 93 94 95 |
# File 'lib/apifreaks/internal/types/model.rb', line 88 def add_extra_field_definition(name:, type:) return if extra_fields.key?(name.to_sym) extra_fields[name.to_sym] = Field.new(name: name, type: type, optional: true, nullable: false) define_accessor(name) define_setter(name) end |
.coerce(value, strict: (respond_to?(:strict?) ? strict? : false)) ⇒ Object
rubocop:disable Lint/UnusedMethodArgument
115 116 117 118 119 120 121 |
# File 'lib/apifreaks/internal/types/model.rb', line 115 def coerce(value, strict: (respond_to?(:strict?) ? strict? : false)) # rubocop:disable Lint/UnusedMethodArgument return value if value.is_a?(self) return value unless value.is_a?(::Hash) new(value) end |
.extra_fields ⇒ Hash<Symbol, Field>
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.
Any extra fields that have been created from instantiation
31 32 33 |
# File 'lib/apifreaks/internal/types/model.rb', line 31 def extra_fields @extra_fields ||= {} end |
.field(name, type, optional: false, nullable: false, api_name: nil, default: nil) ⇒ void
This method returns an undefined value.
Define a new field on this model
44 45 46 47 48 49 50 |
# File 'lib/apifreaks/internal/types/model.rb', line 44 def field(name, type, optional: false, nullable: false, api_name: nil, default: nil) add_field_definition(name: name, type: type, optional: optional, nullable: nullable, api_name: api_name, default: default) define_accessor(name) define_setter(name) end |
.fields ⇒ Hash<Symbol, Field>
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.
The defined fields for this model
18 19 20 21 22 23 24 |
# File 'lib/apifreaks/internal/types/model.rb', line 18 def fields @fields ||= if self < Apifreaks::Internal::Types::Model superclass.fields.dup else {} end end |
.literal(name, value, api_name: nil) ⇒ void
This method returns an undefined value.
Define a new literal for this model
58 59 60 61 62 63 |
# File 'lib/apifreaks/internal/types/model.rb', line 58 def literal(name, value, api_name: nil) add_field_definition(name: name, type: value.class, optional: false, nullable: false, api_name: api_name, value: value) define_accessor(name) end |
.load(str) ⇒ Object
123 124 125 |
# File 'lib/apifreaks/internal/types/model.rb', line 123 def load(str) coerce(::JSON.parse(str, symbolize_names: true)) end |
Instance Method Details
#==(other) ⇒ Object
191 192 193 |
# File 'lib/apifreaks/internal/types/model.rb', line 191 def ==(other) self.class == other.class && to_h == other.to_h end |
#inspect ⇒ String
196 197 198 199 200 201 202 203 204 |
# File 'lib/apifreaks/internal/types/model.rb', line 196 def inspect attrs = @data.map do |name, value| field = self.class.fields[name] || self.class.extra_fields[name] display_value = field&.sensitive? ? "[REDACTED]" : value.inspect "#{name}=#{display_value}" end "#<#{self.class.name}:0x#{object_id&.to_s(16)} #{attrs.join(" ")}>" end |
#to_h ⇒ Object
163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 |
# File 'lib/apifreaks/internal/types/model.rb', line 163 def to_h result = self.class.fields.merge(self.class.extra_fields).each_with_object({}) do |(name, field), acc| # If there is a value present in the data, use that value # If there is a `nil` value present in the data, and it is optional but NOT nullable, exclude key altogether # If there is a `nil` value present in the data, and it is optional and nullable, use the nil value value = @data[name] next if value.nil? && field.optional && !field.nullable if value.is_a?(::Array) value = value.map { |item| item.respond_to?(:to_h) ? item.to_h : item } elsif value.respond_to?(:to_h) value = value.to_h end acc[field.api_name] = value end # Inject union discriminant if this instance was coerced from a discriminated union # and the discriminant key is not already present in the result discriminant_key = instance_variable_get(:@_fern_union_discriminant_key) discriminant_value = instance_variable_get(:@_fern_union_discriminant_value) result[discriminant_key] = discriminant_value if discriminant_key && discriminant_value && !result.key?(discriminant_key) result end |