class HearthAmenity < ApplicationRecord include HasWhatnot validates :gid, :name, :description, :whatnot, presence: true def build_requirements_string(level) requirements = [] data = self.whatnot[:constructions].find { |d| d[:level] == level } data[:cost][:items].each do |item_gid, quantity| requirements.push "#{quantity} #{Item.find_by_gid(item_gid).name}" end requirements.join(", ") end end