Another way is to reassign the values ββif necessary:
def hours_occupied(date) availability, focus = get_work_hours(date), "work" availability, focus = get_family_hours(date), "family" unless availability availability, focus = get_friend_hours(date), "friend" unless availability end
or using an iterator:
def hours_occupied(date) availability = focus = nil %w(work family friend).each {|type| availability, focus = self.send(:"get_#{type}_hours", date), type unless availability} end
source share