Class: StickyIoRestfulApiV2025731::BaseModel

Inherits:
CoreLibrary::BaseModel
  • Object
show all
Defined in:
lib/sticky_io_restful_api_v2025731/models/base_model.rb

Overview

Base model. rubocop:disable all

Direct Known Subclasses

AccountFields, AccountFieldsFields, AddCampaign, AddCampaignRequest, AddCampaignWithAltPayments, AddCategory, AddCategoryRequest, AddCustomFieldValues, AddCustomFieldValuesMulti, AddCustomFieldValuesRequest, AddCustomFieldValuesRequestAddCustomFieldValues, AddCustomFieldValuesRequestAddCustomFieldValues1, AddOptionToCustomFieldRequest, AddOptionToField, AddProductAttributes, AddProductAttributesRequest, AddProductBasic, AddProductPrebuiltFixedPriceBundle, AddProductRequest, AddProductVariant, AddProductVariantRequest, AddProductWithAttributes, AddProductWithAttributesAutocreateVariants, AddProfileRequest, AddRelateCampaignInVolumeDiscount, AddRepresentmentRequest, AddUpdateDiscountAmount, AddUpdateDiscountNextCouponPromoCode, AddUpdateDiscountPercent, AddUpdateDiscountRequest, AddVolumeDiscount, AddVolumeDiscountRequest, Address, AddressData, AddressOneOf0, Affiliate, AlternativePayment, ArchiveCampaign, AttachProductImages, AttachProductImagesRequest, AttachVariantImages, AttachVariantImagesRequest, Attribute, AttributeAttribute, AttributeAttribute1, AttributeData, AttributeData1, AttributeData2, AttributeVariant, AttributeVariant1, Author, BillByCycle, BillByDate, BillByDay, BillByRelativeDay, BillBySchedule, BillSubscriptionNowApproved, BillSubscriptionNowDecline, BillingModel, BillingModelCreateOfferRequest, BillingModelData, BillingModelData1, BillingModelData2, BillingModelData3, BillingModelData4, BillingModelData5, BillingModelData6, BillingModelOffer, BillingShippingTaxLocation, BundleChild, BundleChildData, BundleType, CalculateOrderTotal, CalculateOrderTotalRequest, Campaign, CampaignData, CampaignRelateTheCampaignInVolumeDiscountRequest, CampaignUnrelateTheCampaignInVolumeDiscountRequest, Category, ChangeRecurringProductRequest, ChangeRecurringProductToVariant, ChangeRecurringProductWithChildren, Channel, Child, ChildCreateConfigurationRequest, ChildOneOf0, ChildOneOf1, CopyCampaign, CopyVolumeDiscount, CouponProfile, CouponProfileOneOf0, CreateAddress, CreateAddressRequest, CreateAddressWithCustomEmail, CreateAffiliateRequest, CreateBillingModelRequest, CreateConfiguration, CreateConfigurationRequest, CreateContactInterestRequest, CreateContactPaymentSource, CreateContactPaymentSourceRequest, CreateCouponProfileRequest, CreateCustomField, CreateCustomFieldRequest, CreateCustomerInterestRequest, CreateMultiProductCouponProfile, CreateOfferRequest, CreateOrderCouponProfile, CreatePrepaidOffer, CreateProductCouponProfile, CreatePromoCodeRequest, CreateProspectInterest, CreateProspectInterestRequest, CreateSeasonalOffer, CreateSeasonalOfferWithBillingModelDiscounts, CreateSeasonalPrepaidOffer, CreateShippingMethod, CreateShippingMethodRequest, CreateShippingType, CreateShippingTypeRequest, CreateStandardOffer, CreateSubscriptionOverrideRequest, CreateTrialWorkflowRequest, CreateUpdateLineItemCustomOptionsRequest, CreateUpdateSubscriptionCredit, CreateUpdateSubscriptionCreditRequest, CreatedAt, Creator, CreatorData, CreatorData1, CreatorOneOf0, Currency, CustomField, CustomFieldAddCustomFieldValuesRequest, CustomFieldAddCustomFieldValuesRequest1, CustomFieldAddCustomFieldValuesRequest2, CustomFieldOneOf1, CustomFieldUpdateCustomFieldValuesRequest, CustomFieldUpdateCustomFieldValuesRequest1, CustomFieldUpdateCustomFieldValuesRequest2, CustomFieldUpdateCustomerRequest, CycleProduct, CycleType, Data, DataAddCampaign, DataAddCampaignWithAltPayments, DataAddCategory, DataAddOptionToField, DataAddProductAttributes, DataAddProductBasic, DataAddProductPrebuiltFixedPriceBundle, DataAddProductVariant, DataAddProductWithAttributes, DataAddProductWithAttributesAutocreateVariants, DataAddUpdateDiscountPercentTooHigh, DataAddVolumeDiscount, DataAttachProductImages, DataAttachVariantImages, DataBillBySchedule, DataBillSubscriptionNowApproved, DataBillSubscriptionNowDecline, DataBillingShippingTaxLocation, DataCalculateOrderTotal, DataChangeRecurringProductChildrenRequired, DataChangeRecurringProductTooManyChildren, DataChangeRecurringProductWrongChildren, DataCopyCampaign, DataCopyVolumeDiscount, DataCreateAddress, DataCreateAddressWithCustomEmail, DataCreateConfiguration, DataCreateContactPaymentSource, DataCreateCustomField, DataCreateMultiProductCouponProfile, DataCreateOrderCouponProfile, DataCreatePrepaidOffer, DataCreateProductCouponProfile, DataCreateProspectInterest, DataCreateSeasonalOffer, DataCreateSeasonalOfferWithBillingModelDiscounts, DataCreateSeasonalPrepaidOffer, DataCreateShippingMethod, DataCreateShippingType, DataCreateStandardOffer, DataCreateUpdateSubscriptionCredit, DataDeleteProductVariant, DataGetAddress, DataGetAddresses, DataGetAllSubscriptions, DataGetAssignedLicenseKeys, DataGetAssignedProductLicenseKeys, DataGetAvailableBillingModels, DataGetAvailableProductsDnvb, DataGetAvailableProductsNutra, DataGetAvailableProductsWithBundles, DataGetBillingModel, DataGetBundleTypes, DataGetCallCenterProviders, DataGetCampaign, DataGetCampaigns, DataGetCancellationNoteTemplates, DataGetCategories, DataGetCategory, DataGetChannels, DataGetChildSubscription, DataGetChildrenSubscriptions, DataGetConfiguration, DataGetConfigurations, DataGetContacts, DataGetCountries, DataGetCouponProfile, DataGetCustomerCustomFields, DataGetCustomerSubscriptions, DataGetCycleTypes, DataGetDefaultNoteTemplates, DataGetFieldTypes, DataGetHistoryNoteTypes, DataGetHistoryNotes, DataGetHistoryNotesSingleOrder, DataGetNoteTemplateTypes, DataGetOffer, DataGetOfferTypes, DataGetOptionsForCustomField, DataGetParentSubscription, DataGetPaymentMethods, DataGetPaymentMethodsWithSearch, DataGetPaymentTypes, DataGetPriceTypes, DataGetProduct, DataGetProductAttributes, DataGetProductCustomFields, DataGetProductImage, DataGetProductImages, DataGetProductVariants, DataGetProducts, DataGetProspectCustomFields, DataGetProspectInterests, DataGetRefundNoteTemplates, DataGetShippingMethod, DataGetShippingMethods, DataGetShippingPriceTypes, DataGetShippingType, DataGetShippingTypes, DataGetSingleCustomField, DataGetSubsciption, DataGetSubscription, DataGetSubscription1, DataGetSubscriptionCredit, DataGetSubscriptionCreditNoteTemplates, DataGetTerminatingCycleTypes, DataGetTypes, DataGetUnassignedProductLicenseKeys, DataGetUserDepartments, DataGetUsers, DataGetVariantImage, DataGetVariantImages, DataGetVolumeDiscount, DataGetVolumeDiscounts, DataGetWeightTypes, DataReplaceSubscriptionCredit, DataReset, DataSetProductImages, DataSetVariantImages, DataSkipNextShipmentPositions, DataStart, DataTokenizeApiCredentials, DataTokenizePayment, DataUpdateAddress, DataUpdateBillingModel, DataUpdateBillingModelInvalidBillingModel, DataUpdateCategory, DataUpdateConfiguration, DataUpdateCustomField, DataUpdateOffer, DataUpdateProduct, DataUpdateProductImages, DataUpdateProductVariant, DataUpdateRecurringDateInvalidDate, DataUpdateRecurringDateInvalidFormat, DataUpdateShippingMethod, DataUpdateShippingType, DataUpdateVariantImages, DataUpdateVolumeDiscount, Date, DateData, DateOneOf1, Datum, DatumGetBillingModels, DelayedBilling, DelayedBillingTrial, DeleteAddress, DeleteCampaign, DeleteCategory, DeleteConfiguration, DeleteContactPaymentSource, DeleteCustomFieldValues, DeleteLineItemCustomOptionRequest, DeleteOffer, DeleteProduct, DeleteProductAttributes, DeleteProductVariant, DeletePromoCodeRequest, DeleteShippingMethod, DeleteShippingType, DeleteSubscriptionCredit, DeleteVolumeDiscount, DestroyDiscount, DestroyStopOnNextSuccess, DetachProductImage, DetachVariantImage, Discount, DiscountCreateCouponProfileRequest, DiscountLineItem, DiscountOneOf0, DiscountType, Discounts, DiscountsData, DiscountsData1, Expiration, ExpiresAt, FeeFields, Fields, FieldsUpdateProfileRequest, ForceNextGatewayByOrderIDs, ForceNextGatewayByOrderIDsRequest, Gateway, GetAddress, GetAddresses, GetAllSubscriptions, GetAssignedLicenseKeys, GetAssignedProductLicenseKeys, GetAvailableBillingModels, GetAvailableProductsDnvb, GetAvailableProductsNutra, GetAvailableProductsWithBundles, GetBillingModel, GetBillingModels, GetBundleTypes, GetCallCenterProviders, GetCampaign, GetCampaigns, GetCancellationNoteTemplates, GetCategories, GetCategory, GetChannels, GetChildSubscription, GetChildrenSubscriptions, GetConfiguration, GetConfigurations, GetContacts, GetCountries, GetCouponProfile, GetCustomerCustomFields, GetCustomerSubscriptions, GetCycleTypes, GetDays, GetDefaultNoteTemplates, GetFieldTypes, GetFrequencyTypes, GetHistoryNoteTypes, GetHistoryNotes, GetHistoryNotesSingleOrder, GetNextShipmentPositions, GetNoteTemplateTypes, GetOffer, GetOfferTypes, GetOptionsForCustomField, GetParentSubscription, GetPaymentMethods, GetPaymentMethodsWithSearch, GetPaymentTypes, GetPriceTypes, GetProduct, GetProductAttributes, GetProductCustomFields, GetProductImage, GetProductImages, GetProductVariants, GetProducts, GetProspectCustomFields, GetProspectInterests, GetRefundNoteTemplates, GetShippingMethod, GetShippingMethods, GetShippingPriceTypes, GetShippingType, GetShippingTypes, GetSingleCustomField, GetSubsciption, GetSubscription, GetSubscriptionCredit, GetSubscriptionCreditNoteTemplates, GetSubscriptionGetSubscription, GetTerminatingCycleTypes, GetTypes, GetTypesGetTypes, GetUnassignedProductLicenseKeys, GetUserDepartments, GetUsers, GetVariantImage, GetVariantImages, GetVolumeDiscount, GetVolumeDiscounts, GetWeeks, GetWeightTypes, GlobalFields, GlobalFieldsFields, GrantUserAffiliatePermissionsRequest, Header, Id, IssueSubscriptionCreditRequest, LegacySubscription, Limits, LimitsCreateCouponProfileRequest, LimitsData, LineItem, LineItemData, Location, NextProduct, Note, Offer, OfferCalculateOrderTotalRequest, OfferData, OfferData1, Option, OptionAttribute, OptionAttribute1, OptionCreateUpdateLineItemCustomOptionsRequest, OptionData, OptionOneOf0, PaymentMethod, PaymentMethodData, PaymentType, Pivot, PostbackProfile, PostbackProfileOneOf0, PostbackProfileOneOf1, Prepaid, PrepaidProfile, PrepaidProfileData, PrepaidProfileOneOf1, PriceType, Product, ProductCreateOfferRequest, ProductData, ProductData1, ProductData2, ProductData3, ProductOneOf0, Promo, PromoCode, PromoCodeData, Provider, Quantity, QuantityAddVolumeDiscountRequest, QuantityData, QuantityUpdateVolumeDiscountRequest, Recurring, RecurringDate, RelateManyToOfferRequest, RelateTheCampaignInVolumeDiscountRequest, RelateToOfferRequest, RemoveNextCouponPromoCode, ReplaceSubscriptionCredit, Representment, RescheduleSubscription, RescheduleSubscriptionRequest, Reset, RestoreCampaign, ResumeSubscription, RevokeUserAffiliatePermissionsRequest, SearchCreatedAt, SeasonalProduct, SetNextCouponPromoCode, SetProductImages, SetProductImagesRequest, SetSubscriptionAddressOverrideRequest, SetVariantImages, SetVariantImagesRequest, Shipping, ShippingProfile, SkipNextShipmentPositions, Start, StopOnNextSuccess, StopSubscription, StopWithCancellationReason, Tax, Term, TerminatingCycleType, TokenizeApiCredentials, TokenizePayment, TokenizePaymentRequest, Trial, TrialCreateOfferRequest, TrialData, TrialOneOf1, TrialProduct, TrialProductOneOf0, Type, TypeBillingModel, TypeData, TypeData1, TypeOffer, TypeOneOf1, TypeShippingProfile, Unit, UnitUpdateTrialWorkflowRequest, UnrelateTheCampaignInVolumeDiscount, UnrelateTheCampaignInVolumeDiscountRequest, UpdateAddress, UpdateAddressRequest, UpdateAffiliateRequest, UpdateBillingModel, UpdateBillingModelRequest, UpdateBillingModelRequestUpdateBillingModel, UpdateBillingModelUpdateBillingModel, UpdateCampaignRequest, UpdateCategory, UpdateCategoryRequest, UpdateConfiguration, UpdateConfigurationRequest, UpdateContactPaymentSourceRequest, UpdateCustomField, UpdateCustomFieldRequest, UpdateCustomFieldValues, UpdateCustomFieldValuesRequest, UpdateCustomFieldValuesRequestUpdateCustomFieldValues, UpdateCustomFieldValuesRequestUpdateCustomFieldValues1, UpdateCustomerRequest, UpdateInventoryRequest, UpdateNextRecurringDateRequest, UpdateNextRecurringPriceRequest, UpdateNextRecurringProductRequest, UpdateNextRecurringQuantityRequest, UpdateOffer, UpdateOfferPrepaid, UpdateOfferRequest, UpdateOfferRequestUpdateOffer, UpdateOfferSeasonal, UpdateOfferSeasonalPrepaid, UpdateOfferStandard, UpdateProduct, UpdateProductImages, UpdateProductImagesRequest, UpdateProductRequest, UpdateProductVariant, UpdateProductVariantRequest, UpdateProfileRequest, UpdateRecurringBillingModelRequest, UpdateRecurringDateRequest, UpdateRecurringDateSuccess, UpdateRecurringPricePreservationRequest, UpdateShippingMethod, UpdateShippingMethodRequest, UpdateShippingType, UpdateShippingTypeRequest, UpdateSubscriptionFrequency, UpdateSubscriptionFrequencyRequest, UpdateSubscriptionOverrideRequest, UpdateSubscriptionRecurringDay, UpdateSubscriptionRecurringDayWithBillingModel, UpdateSubscriptionRecurringDayWithUseNewDayFlag, UpdateSubscriptionRecurringDayWithUseNewDayFlagBillingModelId, UpdateSubscriptionRequest, UpdateTrialWorkflowRequest, UpdateVariantImages, UpdateVariantImagesRequest, UpdateVariantInventoryRequest, UpdateVolumeDiscount, UpdateVolumeDiscountRequest, UpdateWarehouseRequest, UpdatedAt, UpdatedAtBillingModel, UpdatedAtCouponProfile, UpdatedAtData, UpdatedAtOffer, UpdatedAtOneOf1, UpdatedAtProduct, Updator, UpdatorBillingModel, UpdatorCouponProfile, UpdatorData, UpdatorData1, UpdatorData2, UpdatorOneOf1, ValidateAddressRequest, Value, Variant, VariantData, Vertical, VerticalOneOf0, WeightUnit

Instance Method Summary collapse

Instance Method Details

#check_for_conflict(name, existing_prop_names) ⇒ Object

Checks if an additional property conflicts with a model’s existing property.

Raises:

  • (ArgumentError)


80
81
82
83
84
# File 'lib/sticky_io_restful_api_v2025731/models/base_model.rb', line 80

def check_for_conflict(name, existing_prop_names)
  return unless existing_prop_names.key?(name)

  raise ArgumentError, "An additional property key, '#{name}' conflicts with one of the model's properties"
end

#process_additional_properties(additional_properties, existing_prop_names) ⇒ Object

Processes additional properties, ensuring no conflicts with existing properties.



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/sticky_io_restful_api_v2025731/models/base_model.rb', line 63

def process_additional_properties(additional_properties, existing_prop_names)
  hash = {}
  additional_properties.each do |name, value|
    check_for_conflict(name, existing_prop_names)

    hash[name] = if value.is_a?(Array)
                   process_array(value)
                 elsif value.is_a?(Hash)
                   process_hash(value)
                 else
                   process_basic_value(value)
                 end
  end
  hash
end

#process_array(value) ⇒ Object

Processes an array of values, recursively calling ‘to_hash` on BaseModel objects.



87
88
89
# File 'lib/sticky_io_restful_api_v2025731/models/base_model.rb', line 87

def process_array(value)
  value.map { |v| v.is_a?(BaseModel) ? v.to_hash : v }
end

#process_basic_value(value) ⇒ Object

Processes a basic value (non-array, non-hash).



99
100
101
# File 'lib/sticky_io_restful_api_v2025731/models/base_model.rb', line 99

def process_basic_value(value)
  value.is_a?(BaseModel) ? value.to_hash : value
end

#process_hash(value) ⇒ Object

Processes a hash of values, recursively calling ‘to_hash` on BaseModel objects.



92
93
94
95
96
# File 'lib/sticky_io_restful_api_v2025731/models/base_model.rb', line 92

def process_hash(value)
  value.transform_values do |v|
    v.is_a?(BaseModel) ? v.to_hash : v
  end
end

#to_hashObject

Returns a Hash representation of the current object.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
57
58
59
60
# File 'lib/sticky_io_restful_api_v2025731/models/base_model.rb', line 11

def to_hash
  # validating the model being serialized
  self.class.validate(self) if self.class.respond_to?(:validate)

  hash = {}
  instance_variables.each do |name|
    value = instance_variable_get(name)
    name = name[1..]
    if name == 'additional_properties'
      additional_properties = process_additional_properties(value, self.class.names)
      hash.merge!(additional_properties)
    else
      key = self.class.names.key?(name) ? self.class.names[name] : name
      optional_fields = self.class.optionals
      nullable_fields = self.class.nullables
      if value.nil?
        next unless nullable_fields.include?(name)

        if !optional_fields.include?(name) && !nullable_fields.include?(name)
          raise ArgumentError,
                "`#{name}` cannot be nil in `#{self.class}`. Please specify a valid value."
        end
      end

      hash[key] = nil
      unless value.nil?
        if respond_to?("to_custom_#{name}")
          if (value.instance_of? Array) || (value.instance_of? Hash)
            params = [hash, key]
            hash[key] = send("to_custom_#{name}", *params)
          else
            hash[key] = send("to_custom_#{name}")
          end
        elsif respond_to?("to_union_type_#{name}")
          hash[key] = send("to_union_type_#{name}")
        elsif value.instance_of? Array
          hash[key] = value.map { |v| v.is_a?(BaseModel) ? v.to_hash : v }
        elsif value.instance_of? Hash
          hash[key] = {}
          value.each do |k, v|
            hash[key][k] = v.is_a?(BaseModel) ? v.to_hash : v
          end
        else
          hash[key] = value.is_a?(BaseModel) ? value.to_hash : value
        end
      end
    end
  end
  hash
end

#to_json(options = {}) ⇒ Object

Returns a JSON representation of the curent object.



104
105
106
107
# File 'lib/sticky_io_restful_api_v2025731/models/base_model.rb', line 104

def to_json(options = {})
  hash = to_hash
  hash.to_json(options)
end