Forkwell
2015/12/10 13:53:47 投稿
0

【Refactor Me】split(正規表現)がcontrollerにあるのはなんとなく嫌だな...

<p>リファクタリングのネタが思いつかない方のために、beforeコードを用意しました。<br><br> このbeforeコードをリファクタリングしてくれた方にも <img alt="sushi" src="/assets/emoji/unicode/1f363-831097849a370c02369283b17255c6e4f0ffe9e0a1269610119e49b26401f621.png" style="vertical-align:middle" width="20" height="20" /> のチャンスがあります!</p> <p>beforeコードをコピーして新規投稿を作成してね!</p> <hr> <p>このままでもいいんだけど、もう少し抽象化できそう...</p>

Before

class SushisController
  def neta_list
    @neta_list ||= params[:sushi][:neta].split(/[\s[[:blank:]]]+/)
  end

  def params
    { sushi: { neta: 'アナゴ 赤貝 コハダ' }}
  end
end

require 'minitest/autorun'

class TestSushisController < MiniTest::Test
  def setup
    @sushi_controller = SushisController.new
  end

  def test_neta_list
    assert_equal ['アナゴ', '赤貝', 'コハダ'], @sushi_controller.neta_list
  end
end

After

# your cool code

みんなのコメント