class HearthAmenity < ApplicationRecord include HasWhatnot validates :gid, :name, :description, presence: true def construct_activity(level) return nil unless self.whatnot activity_data = self.whatnot[:construct_activities].find { |a| a[:level] == level } return nil unless activity_data Activity.find_by_gid(activity_data[:gid]) end end