Ruby Ошибка rubocops - слишком большой размер условия ветви назначения - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть простой метод, который извлекает данные из проекта Jira с назначенными пользователю задачами, которые еще предстоит выполнить. Есть ли способ уменьшить метод ниже, чтобы избежать rubocop condition size too high error?

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

1 Ответ

1 голос
/ 06 февраля 2020

Возможно, вот так?

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
...