RubyのCSVクラスは、ファイル末尾に改行文字(\n, \r\nなど)が付いていると、読み込み時に”Unquoted fields do not allow \r or \n”エラーとなり停止することがあります。
エラーメッセージと原因の対応を読み取りづらいため分かりにくいエラーの1つですが、テキストエディタなどでファイルを確認して最後に空行がついている場合はこの可能性を疑います。
末尾改行コードがつく原因が別のアプリケーションによるものである場合は、読み込み前に取り除く処理が必要になります。
また、このファイルが自分のRubyコードで生成したものである場合、書き込み時の処理部分を確認します。File.putsで書き込んだ場合、改行コードつきで出力されます。
このケースでは、File.printで書き込むよう変更することで改行コードなしで出力できます。
⁋ 2017/05/19↻ 2023/10/09
ターミナル上で動作するインタラクティブなアプリケーションを開発するための古典的なライブラリに curses があります。
サーバーはLinuxの普及度が高いこともあり、cursesベースのアプリを作る …
セキュリティ対策やデモなどの目的で、ランダムな名前を生成するツールがあると便利です。 Faker は、多彩な名称を生成することに特化したRuby gemです。
用途別のメソッドを呼ぶたびに、名称の文字 …
Railsのコントローラー内で、render()やredirect_to()を複数書くと以下のようなエラーが出る場合があります。 …
Ruby on Railsはscaffoldが有名です。rails generateコマンドによりREST構造のスケルトンを生成できるものです。このジェネレータはscaffold以外にもテンプレートを …
Rubyのテストは標準のminitestでかなりカバーできますが、スタブとモックについては、 mocha gemを利用した方が良いでしょう。
スタブやモックは、テスト対象のコードが呼び出している一部の …