Module: Crystalline::MetadataFields
- Included in:
- OpenApiSDK::Models::Errors::APIError, OpenApiSDK::Models::Errors::BadRequest, OpenApiSDK::Models::Errors::Conflict, OpenApiSDK::Models::Errors::ConflictError, OpenApiSDK::Models::Errors::Error, OpenApiSDK::Models::Errors::Forbidden, OpenApiSDK::Models::Errors::ForbiddenError, OpenApiSDK::Models::Errors::InternalServerError, OpenApiSDK::Models::Errors::InternalServerErrorError, OpenApiSDK::Models::Errors::InviteExpired, OpenApiSDK::Models::Errors::InviteExpiredError, OpenApiSDK::Models::Errors::NotFound, OpenApiSDK::Models::Errors::NotFoundError, OpenApiSDK::Models::Errors::RateLimitExceeded, OpenApiSDK::Models::Errors::RateLimitExceededError, OpenApiSDK::Models::Errors::Unauthorized, OpenApiSDK::Models::Errors::UnauthorizedError, OpenApiSDK::Models::Errors::UnprocessableEntity, OpenApiSDK::Models::Errors::UnprocessableEntityError, OpenApiSDK::Models::Operations::Application, OpenApiSDK::Models::Operations::ApplicationFormData, OpenApiSDK::Models::Operations::ApproveBountySubmissionFiles, OpenApiSDK::Models::Operations::ApproveBountySubmissionRequest, OpenApiSDK::Models::Operations::ApproveBountySubmissionRequestBody, OpenApiSDK::Models::Operations::ApproveBountySubmissionResponseBody, OpenApiSDK::Models::Operations::ApprovePartnerRequestBody, OpenApiSDK::Models::Operations::ApprovePartnerResponseBody, OpenApiSDK::Models::Operations::BanPartnerRequestBody, OpenApiSDK::Models::Operations::BanPartnerResponseBody, OpenApiSDK::Models::Operations::BulkCreateLinksTagIds, OpenApiSDK::Models::Operations::BulkCreateLinksTagNames, OpenApiSDK::Models::Operations::BulkCreateLinksTestVariants, OpenApiSDK::Models::Operations::BulkDeleteLinksRequest, OpenApiSDK::Models::Operations::BulkDeleteLinksResponseBody, OpenApiSDK::Models::Operations::BulkUpdateCommissionsRequestBody, OpenApiSDK::Models::Operations::BulkUpdateCommissionsResponseBody, OpenApiSDK::Models::Operations::BulkUpdateLinksRequestBody, OpenApiSDK::Models::Operations::BulkUpdateLinksTagIds, OpenApiSDK::Models::Operations::BulkUpdateLinksTagNames, OpenApiSDK::Models::Operations::BulkUpdateLinksTestVariants, OpenApiSDK::Models::Operations::CheckDomainStatusRequest, OpenApiSDK::Models::Operations::CheckDomainStatusResponseBody, OpenApiSDK::Models::Operations::Click, OpenApiSDK::Models::Operations::ClickEvent, OpenApiSDK::Models::Operations::Constraints, OpenApiSDK::Models::Operations::CreateDomainRequestBody, OpenApiSDK::Models::Operations::CreateFolderRequestBody, OpenApiSDK::Models::Operations::CreateLinkRequestBody, OpenApiSDK::Models::Operations::CreatePartnerApplication, OpenApiSDK::Models::Operations::CreatePartnerFields, OpenApiSDK::Models::Operations::CreatePartnerFields1, OpenApiSDK::Models::Operations::CreatePartnerFields2, OpenApiSDK::Models::Operations::CreatePartnerFields3, OpenApiSDK::Models::Operations::CreatePartnerFields4, OpenApiSDK::Models::Operations::CreatePartnerFieldsConstraints, OpenApiSDK::Models::Operations::CreatePartnerFieldsOptions, OpenApiSDK::Models::Operations::CreatePartnerFieldsPartnersConstraints, OpenApiSDK::Models::Operations::CreatePartnerFieldsPartnersOptions, OpenApiSDK::Models::Operations::CreatePartnerLinkLinkProps, OpenApiSDK::Models::Operations::CreatePartnerLinkRequestBody, OpenApiSDK::Models::Operations::CreatePartnerLinkTagIds, OpenApiSDK::Models::Operations::CreatePartnerLinkTagNames, OpenApiSDK::Models::Operations::CreatePartnerLinkTestVariants, OpenApiSDK::Models::Operations::CreatePartnerLinks, OpenApiSDK::Models::Operations::CreatePartnerReferralFormData, OpenApiSDK::Models::Operations::CreatePartnerRequestBody, OpenApiSDK::Models::Operations::CreatePartnerResponseBody, OpenApiSDK::Models::Operations::CreatePartnerTagIds, OpenApiSDK::Models::Operations::CreatePartnerTagNames, OpenApiSDK::Models::Operations::CreatePartnerTestVariants, OpenApiSDK::Models::Operations::CreateReferralsEmbedTokenLinkProps, OpenApiSDK::Models::Operations::CreateReferralsEmbedTokenRequestBody, OpenApiSDK::Models::Operations::CreateReferralsEmbedTokenResponseBody, OpenApiSDK::Models::Operations::CreateReferralsEmbedTokenTagIds, OpenApiSDK::Models::Operations::CreateReferralsEmbedTokenTagNames, OpenApiSDK::Models::Operations::CreateReferralsEmbedTokenTestVariants, OpenApiSDK::Models::Operations::CreateTagRequestBody, OpenApiSDK::Models::Operations::Customer, OpenApiSDK::Models::Operations::Data, OpenApiSDK::Models::Operations::DeactivatePartnerRequestBody, OpenApiSDK::Models::Operations::DeactivatePartnerResponseBody, OpenApiSDK::Models::Operations::DeleteCustomerRequest, OpenApiSDK::Models::Operations::DeleteCustomerResponseBody, OpenApiSDK::Models::Operations::DeleteDomainRequest, OpenApiSDK::Models::Operations::DeleteDomainResponseBody, OpenApiSDK::Models::Operations::DeleteFolderRequest, OpenApiSDK::Models::Operations::DeleteFolderResponseBody, OpenApiSDK::Models::Operations::DeleteLinkRequest, OpenApiSDK::Models::Operations::DeleteLinkResponseBody, OpenApiSDK::Models::Operations::DeleteTagRequest, OpenApiSDK::Models::Operations::DeleteTagResponseBody, OpenApiSDK::Models::Operations::Discount, OpenApiSDK::Models::Operations::Domains, OpenApiSDK::Models::Operations::Eight, OpenApiSDK::Models::Operations::Fields, OpenApiSDK::Models::Operations::Fields1, OpenApiSDK::Models::Operations::Fields2, OpenApiSDK::Models::Operations::Fields3, OpenApiSDK::Models::Operations::Fields4, OpenApiSDK::Models::Operations::Fields5, OpenApiSDK::Models::Operations::Fields6, OpenApiSDK::Models::Operations::Fields7, OpenApiSDK::Models::Operations::Fields8, OpenApiSDK::Models::Operations::FieldsConstraints, OpenApiSDK::Models::Operations::FieldsOptions, OpenApiSDK::Models::Operations::Files, OpenApiSDK::Models::Operations::Five, OpenApiSDK::Models::Operations::GetCustomerDiscount, OpenApiSDK::Models::Operations::GetCustomerLink, OpenApiSDK::Models::Operations::GetCustomerPartner, OpenApiSDK::Models::Operations::GetCustomerRequest, OpenApiSDK::Models::Operations::GetCustomerResponseBody, OpenApiSDK::Models::Operations::GetCustomersLink, OpenApiSDK::Models::Operations::GetCustomersPartner, OpenApiSDK::Models::Operations::GetCustomersRequest, OpenApiSDK::Models::Operations::GetCustomersResponse, OpenApiSDK::Models::Operations::GetCustomersResponseBody, OpenApiSDK::Models::Operations::GetLinkInfoRequest, OpenApiSDK::Models::Operations::GetLinksCountQueryParamTagIds, OpenApiSDK::Models::Operations::GetLinksCountQueryParamTagNames, OpenApiSDK::Models::Operations::GetLinksCountRequest, OpenApiSDK::Models::Operations::GetLinksRequest, OpenApiSDK::Models::Operations::GetLinksResponse, OpenApiSDK::Models::Operations::GetQRCodeRequest, OpenApiSDK::Models::Operations::GetTagsRequest, OpenApiSDK::Models::Operations::GroupBy, OpenApiSDK::Models::Operations::Ids, OpenApiSDK::Models::Operations::LeadEvent, OpenApiSDK::Models::Operations::Link, OpenApiSDK::Models::Operations::LinkProps, OpenApiSDK::Models::Operations::Links, OpenApiSDK::Models::Operations::ListBountySubmissionsRequest, OpenApiSDK::Models::Operations::ListBountySubmissionsResponseBody, OpenApiSDK::Models::Operations::ListCommissionsCustomer, OpenApiSDK::Models::Operations::ListCommissionsPartner, OpenApiSDK::Models::Operations::ListCommissionsRequest, OpenApiSDK::Models::Operations::ListCommissionsResponse, OpenApiSDK::Models::Operations::ListCommissionsResponseBody, OpenApiSDK::Models::Operations::ListDomainsRequest, OpenApiSDK::Models::Operations::ListDomainsResponse, OpenApiSDK::Models::Operations::ListEventsRequest, OpenApiSDK::Models::Operations::ListEventsResponseBody, OpenApiSDK::Models::Operations::ListEventsResponseBodyClick, OpenApiSDK::Models::Operations::ListEventsResponseBodyCustomer, OpenApiSDK::Models::Operations::ListEventsResponseBodyEventsClick, OpenApiSDK::Models::Operations::ListEventsResponseBodyEventsLink, OpenApiSDK::Models::Operations::ListEventsResponseBodyEventsTestVariants, OpenApiSDK::Models::Operations::ListEventsResponseBodyLink, OpenApiSDK::Models::Operations::ListEventsResponseBodyTestVariants, OpenApiSDK::Models::Operations::ListFoldersRequest, OpenApiSDK::Models::Operations::ListPartnerApplicationsPartner, OpenApiSDK::Models::Operations::ListPartnerApplicationsRequest, OpenApiSDK::Models::Operations::ListPartnerApplicationsResponseBody, OpenApiSDK::Models::Operations::ListPartnersRequest, OpenApiSDK::Models::Operations::ListPartnersResponseBody, OpenApiSDK::Models::Operations::ListPayoutsPartner, OpenApiSDK::Models::Operations::ListPayoutsRequest, OpenApiSDK::Models::Operations::ListPayoutsResponseBody, OpenApiSDK::Models::Operations::Options, OpenApiSDK::Models::Operations::Partner, OpenApiSDK::Models::Operations::QueryParamTagIds, OpenApiSDK::Models::Operations::QueryParamTagNames, OpenApiSDK::Models::Operations::ReferralFormData, OpenApiSDK::Models::Operations::RegisterDomainRequestBody, OpenApiSDK::Models::Operations::RegisterDomainResponseBody, OpenApiSDK::Models::Operations::RejectBountySubmissionFiles, OpenApiSDK::Models::Operations::RejectBountySubmissionRequest, OpenApiSDK::Models::Operations::RejectBountySubmissionRequestBody, OpenApiSDK::Models::Operations::RejectBountySubmissionResponseBody, OpenApiSDK::Models::Operations::RejectPartnerRequestBody, OpenApiSDK::Models::Operations::RejectPartnerResponseBody, OpenApiSDK::Models::Operations::RequestBody, OpenApiSDK::Models::Operations::ResponseBody, OpenApiSDK::Models::Operations::ResponseBodyClick, OpenApiSDK::Models::Operations::ResponseBodyCustomer, OpenApiSDK::Models::Operations::ResponseBodyLink, OpenApiSDK::Models::Operations::ResponseBodySale, OpenApiSDK::Models::Operations::ResponseBodyTestVariants, OpenApiSDK::Models::Operations::RetrieveAnalyticsRequest, OpenApiSDK::Models::Operations::RetrieveAnalyticsResponseBody, OpenApiSDK::Models::Operations::RetrieveLinksRequest, OpenApiSDK::Models::Operations::RetrieveLinksResponseBody, OpenApiSDK::Models::Operations::RetrievePartnerAnalyticsRequest, OpenApiSDK::Models::Operations::RetrievePartnerAnalyticsResponseBody, OpenApiSDK::Models::Operations::Sale, OpenApiSDK::Models::Operations::SaleEvent, OpenApiSDK::Models::Operations::Seven, OpenApiSDK::Models::Operations::Six, OpenApiSDK::Models::Operations::TagIds, OpenApiSDK::Models::Operations::TagNames, OpenApiSDK::Models::Operations::TestVariants, OpenApiSDK::Models::Operations::TrackLeadRequestBody, OpenApiSDK::Models::Operations::TrackLeadResponseBody, OpenApiSDK::Models::Operations::TrackSaleCustomer, OpenApiSDK::Models::Operations::TrackSaleRequestBody, OpenApiSDK::Models::Operations::TrackSaleResponseBody, OpenApiSDK::Models::Operations::UpdateCommissionCustomer, OpenApiSDK::Models::Operations::UpdateCommissionPartner, OpenApiSDK::Models::Operations::UpdateCommissionRequest, OpenApiSDK::Models::Operations::UpdateCommissionRequestBody, OpenApiSDK::Models::Operations::UpdateCommissionResponseBody, OpenApiSDK::Models::Operations::UpdateCustomerDiscount, OpenApiSDK::Models::Operations::UpdateCustomerLink, OpenApiSDK::Models::Operations::UpdateCustomerPartner, OpenApiSDK::Models::Operations::UpdateCustomerRequest, OpenApiSDK::Models::Operations::UpdateCustomerRequestBody, OpenApiSDK::Models::Operations::UpdateCustomerResponseBody, OpenApiSDK::Models::Operations::UpdateDomainRequest, OpenApiSDK::Models::Operations::UpdateDomainRequestBody, OpenApiSDK::Models::Operations::UpdateFolderRequest, OpenApiSDK::Models::Operations::UpdateFolderRequestBody, OpenApiSDK::Models::Operations::UpdateLinkRequest, OpenApiSDK::Models::Operations::UpdateLinkRequestBody, OpenApiSDK::Models::Operations::UpdateLinkTagIds, OpenApiSDK::Models::Operations::UpdateLinkTagNames, OpenApiSDK::Models::Operations::UpdateLinkTestVariants, OpenApiSDK::Models::Operations::UpdateTagRequest, OpenApiSDK::Models::Operations::UpdateTagRequestBody, OpenApiSDK::Models::Operations::UpsertLinkRequestBody, OpenApiSDK::Models::Operations::UpsertLinkTagIds, OpenApiSDK::Models::Operations::UpsertLinkTagNames, OpenApiSDK::Models::Operations::UpsertLinkTestVariants, OpenApiSDK::Models::Operations::UpsertPartnerLinkLinkProps, OpenApiSDK::Models::Operations::UpsertPartnerLinkRequestBody, OpenApiSDK::Models::Operations::UpsertPartnerLinkTagIds, OpenApiSDK::Models::Operations::UpsertPartnerLinkTagNames, OpenApiSDK::Models::Operations::UpsertPartnerLinkTestVariants, OpenApiSDK::Models::Operations::User, OpenApiSDK::Models::Shared::AnalyticsBrowsers, OpenApiSDK::Models::Shared::AnalyticsCities, OpenApiSDK::Models::Shared::AnalyticsContinents, OpenApiSDK::Models::Shared::AnalyticsCount, OpenApiSDK::Models::Shared::AnalyticsCountries, OpenApiSDK::Models::Shared::AnalyticsDevices, OpenApiSDK::Models::Shared::AnalyticsOS, OpenApiSDK::Models::Shared::AnalyticsRefererUrls, OpenApiSDK::Models::Shared::AnalyticsReferers, OpenApiSDK::Models::Shared::AnalyticsRegions, OpenApiSDK::Models::Shared::AnalyticsTimeseries, OpenApiSDK::Models::Shared::AnalyticsTopLinks, OpenApiSDK::Models::Shared::AnalyticsTopUrls, OpenApiSDK::Models::Shared::AnalyticsTriggers, OpenApiSDK::Models::Shared::Application, OpenApiSDK::Models::Shared::ApplicationFormData, OpenApiSDK::Models::Shared::Click, OpenApiSDK::Models::Shared::CommissionCreatedEvent, OpenApiSDK::Models::Shared::CommissionCreatedEventCustomer, OpenApiSDK::Models::Shared::CommissionCreatedEventData, OpenApiSDK::Models::Shared::CommissionCreatedEventLink, OpenApiSDK::Models::Shared::CommissionCreatedEventPartner, OpenApiSDK::Models::Shared::Constraints, OpenApiSDK::Models::Shared::Customer, OpenApiSDK::Models::Shared::Data, OpenApiSDK::Models::Shared::DomainSchema, OpenApiSDK::Models::Shared::Eight, OpenApiSDK::Models::Shared::Event, OpenApiSDK::Models::Shared::Fields, OpenApiSDK::Models::Shared::Fields1, OpenApiSDK::Models::Shared::Fields2, OpenApiSDK::Models::Shared::Fields3, OpenApiSDK::Models::Shared::FieldsConstraints, OpenApiSDK::Models::Shared::FieldsOptions, OpenApiSDK::Models::Shared::Five, OpenApiSDK::Models::Shared::FolderSchema, OpenApiSDK::Models::Shared::Four, OpenApiSDK::Models::Shared::LeadCreatedEvent, OpenApiSDK::Models::Shared::LeadCreatedEventClick, OpenApiSDK::Models::Shared::LeadCreatedEventData, OpenApiSDK::Models::Shared::LeadCreatedEventLink, OpenApiSDK::Models::Shared::LeadCreatedEventTestVariants, OpenApiSDK::Models::Shared::Link, OpenApiSDK::Models::Shared::LinkClickedEvent, OpenApiSDK::Models::Shared::LinkClickedEventData, OpenApiSDK::Models::Shared::LinkClickedEventTestVariants, OpenApiSDK::Models::Shared::LinkErrorSchema, OpenApiSDK::Models::Shared::LinkSchema, OpenApiSDK::Models::Shared::LinkTagSchema, OpenApiSDK::Models::Shared::LinkTagSchemaOutput, OpenApiSDK::Models::Shared::LinkWebhookEvent, OpenApiSDK::Models::Shared::LinkWebhookEventTestVariants, OpenApiSDK::Models::Shared::Links, OpenApiSDK::Models::Shared::Options, OpenApiSDK::Models::Shared::Partner, OpenApiSDK::Models::Shared::PartnerAnalyticsCount, OpenApiSDK::Models::Shared::PartnerAnalyticsTimeseries, OpenApiSDK::Models::Shared::PartnerAnalyticsTopLinks, OpenApiSDK::Models::Shared::PartnerApplicationSubmittedEvent, OpenApiSDK::Models::Shared::PartnerApplicationSubmittedEventData, OpenApiSDK::Models::Shared::PartnerApplicationSubmittedEventPartner, OpenApiSDK::Models::Shared::PartnerEnrolledEvent, OpenApiSDK::Models::Shared::PartnerEnrolledEventData, OpenApiSDK::Models::Shared::ReferralFormData, OpenApiSDK::Models::Shared::RegisteredDomain, OpenApiSDK::Models::Shared::Sale, OpenApiSDK::Models::Shared::SaleCreatedEvent, OpenApiSDK::Models::Shared::SaleCreatedEventClick, OpenApiSDK::Models::Shared::SaleCreatedEventCustomer, OpenApiSDK::Models::Shared::SaleCreatedEventData, OpenApiSDK::Models::Shared::SaleCreatedEventLink, OpenApiSDK::Models::Shared::SaleCreatedEventPartner, OpenApiSDK::Models::Shared::SaleCreatedEventTestVariants, OpenApiSDK::Models::Shared::Security, OpenApiSDK::Models::Shared::Seven, OpenApiSDK::Models::Shared::Six, OpenApiSDK::Models::Shared::TestVariants, OpenApiSDK::Models::Shared::WebhookEvent
- Defined in:
- lib/crystalline/metadata_fields.rb
Defined Under Namespace
Modules: ClassMethods Classes: Field
Class Method Summary collapse
Instance Method Summary collapse
- #field(field_name) ⇒ Object
- #fields ⇒ Object
- #initialize ⇒ Object
- #marshal_single(field) ⇒ Object
- #to_dict ⇒ Object
- #to_json(*args) ⇒ Object
Class Method Details
.included(base) ⇒ Object
202 203 204 |
# File 'lib/crystalline/metadata_fields.rb', line 202 def self.included(base) base.extend(ClassMethods) end |
Instance Method Details
#field(field_name) ⇒ Object
210 211 212 213 214 |
# File 'lib/crystalline/metadata_fields.rb', line 210 def field(field_name) fields.each do |f| return f if f.name == field_name end end |
#fields ⇒ Object
206 207 208 |
# File 'lib/crystalline/metadata_fields.rb', line 206 def fields self.class.fields end |
#initialize ⇒ Object
196 197 198 199 200 |
# File 'lib/crystalline/metadata_fields.rb', line 196 def initialize instance = allocate fields.each { |mod| instance.singleton_class.include(mod) } instance.send(:initialize) end |
#marshal_single(field) ⇒ Object
216 217 218 219 220 221 222 223 224 225 226 |
# File 'lib/crystalline/metadata_fields.rb', line 216 def marshal_single(field) if field.class.include? ::Crystalline::MetadataFields field.to_dict else if ::Crystalline.needs_string_conversion field ::Crystalline.json_encode field else field end end end |
#to_dict ⇒ Object
228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 |
# File 'lib/crystalline/metadata_fields.rb', line 228 def to_dict result = {} fields.sort_by(&:name).each do |field| = field.[:format_json] required = !.nil? && .include?(:required) is_additional_props = !.nil? && .fetch(:additional_properties, false) if !.nil? && .include?(:letter_case) key = [:letter_case].call(field.name) else key = field.name end f = send(field.name) next if f.nil? && !required result[key] = nil if f.nil? && required # Flatten additional properties into the parent object if is_additional_props && f.is_a?(::Hash) f.each { |k, v| result[k] = marshal_single(v) } elsif f.is_a? ::Array result[key] = f.map { |o| marshal_single(o) } elsif f.is_a? ::Hash result[key] = f.transform_values { |v| marshal_single(v) } else result[key] = marshal_single(f) end end result end |
#to_json(*args) ⇒ Object
259 260 261 |
# File 'lib/crystalline/metadata_fields.rb', line 259 def to_json(*args) JSON.generate(to_dict, *args) end |