class Hiiro::TaskManager
def value_for_task(task_name = nil, &block)
def value_for_task(task_name = nil, &block) if task_name task = task_by_name(task_name) return block.call(task) if task end task_list = scope == :subtask ? tasks.sort_by(&:short_name) : environment.all_tasks.sort_by(&:name) mapping = task_list.each_with_object({}) do |task, h| name = scope == :subtask ? task.short_name : task.name val = block.call(task)&.to_s line = format("%-25s | %s", name, val) h[line] = val end hiiro.fuzzyfind_from_map(mapping) end