class ItemInfix < ApplicationRecord belongs_to :character belongs_to :item belongs_to :skill before_create :check_max_infixes def self.break_check rand > 0.998 end def effects self.item.whatnot[:infix_effects] end private def check_max_infixes current_infixes = character.item_infixes.where(skill: skill) raise :abort if current_infixes.count >= character.max_infixes(skill) end end