# frozen_string_literal: true # Credit is a way to offer free reservations for subscribing members. class Credit < ApplicationRecord belongs_to :creditable, polymorphic: true belongs_to :plan has_many :users_credits, dependent: :destroy validates :creditable_id, uniqueness: { scope: %i[creditable_type plan_id] } validates :hours, numericality: { greater_than_or_equal_to: 0 }, if: :not_training_credit? def not_training_credit? !creditable_type == 'Training' end end