Ruby rubocops 错误 - 分配分支条件大小太高

Ruby rubocops error - assignment branch condition size too high

我有一个简单的方法,可以从 Jira 项目中获取数据,并为用户分配待完成的任务。有没有办法缩小下面的方法以避免 rubocop condition size too high 错误?

def initialize
  @project = Jira::ProjectConnection.new('project_key').call
end

def assigned_task_list
  project.issues.map do |issue|
    next unless issue.fields.dig('status', 'name') != 'Done' && !issue.fields.dig('assignee', 'name').nil?

    {
      key: issue.key,
      name: issue.fields.dig('assignee', 'name'),
      email: issue.fields.dig('assignee', 'emailAddress'),
      status: issue.fields.dig('status', 'name')
    }
  end
end

大概是这样的?

def assigned_task_list
  assigned_tasks.map do |issue|
    fields = issue.fields
    {
      key: issue.key,
      name: fields.dig('assignee', 'name'),
      email: fields.dig('assignee', 'emailAddress'),
      status: fields.dig('status', 'name')
    }
  end
end

private

def assigned_tasks
  project.issues.select do |issue|
    issue.fields.dig('status', 'name') != 'Done' && 
      issue.fields.dig('assignee', 'name')
  end
end