# frozen_string_literal: true # Links an object bought and a payment schedule used to pay this object class PaymentScheduleObject < Footprintable belongs_to :object, polymorphic: true belongs_to :reservation, foreign_key: 'object_id', inverse_of: :payment_schedule_object belongs_to :subscription, foreign_key: 'object_id', inverse_of: :payment_schedule_object belongs_to :statistic_profile_prepaid_pack, foreign_key: 'object_id', inverse_of: :payment_schedule_object belongs_to :payment_schedule has_one :chained_element, as: :element, dependent: :restrict_with_exception after_create :chain_record delegate :footprint, to: :chained_element end