Ruby два блока if - используйте пункт охраны - PullRequest
0 голосов
/ 14 апреля 2020

Я использую jira- ruby gem , чтобы создать проблему jira с помощью моего приложения. Билет на доске Jira должен быть создан на одной или двух досках, в зависимости от того, какое действие было инициировано ранее. Например, когда новый участник был добавлен в репо, он должен создать два тикета на двух отдельных досках (поддержка и безопасность). Я должен использовать client.Issue.build дважды (это метод gem), поэтому мне нужно сделать что-то вроде:

      def call
        if SUPPORTBOARD_WEBHOOKS_CLASSES.include?(webhook.action_type_class)
          issue = client.Issue.build
          issue.save({"fields"=>{"summary"=>"example.rb","project"=>{"id"=>"10001"},"issuetype"=>{"id"=>"3"}}})
        end

        if SECURIY_WEBHOOKS_CLASSES.include?(webhook.action_type_class)
          issue = client.Issue.build
          issue.save({"fields"=>{"summary"=>"example.rb","project"=>{"id"=>"10001"},"issuetype"=>{"id"=>"3"}}})
        end
      end

Но я получаю ошибку от rubocop: use a guard clause

1 Ответ

2 голосов
/ 14 апреля 2020

Попробуйте вот так

def call
  if SUPPORTBOARD_WEBHOOKS_CLASSES.include?(webhook.action_type_class)
    issue = client.Issue.build
    issue.save(issue.save({"fields"=>{"summary"=>"example.rb","project"=>{"id"=>"10001"},"issuetype"=>{"id"=>"3"}}}))
  end

  return unless SECURIY_WEBHOOKS_CLASSES.include?(webhook.action_type_class)

  issue = client.Issue.build
  issue.save({"fields"=>{"summary"=>"example.rb","project"=>{"id"=>"10001"},"issuetype"=>{"id"=>"3"}}})
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...