タグ

ブックマーク / qiita.com/upinetree (4)

  • Railsアプリの例外ハンドリングとエラーページの表示についてまとめてみた - Qiita

    Railsアプリケーションの例外ハンドリングとエラーページの表示方法については色々な方法があると思いますが、そのなかでもよく使われる方法についてまとめてみました。 前提 Rails 4.2.6 Rails 標準の仕組みで静的ページを表示する Rails は標準では Rack Middleware のActionDispatch::ShowExceptionsの仕組みで例外を捕捉して、エラーページを表示しています。その際、捕捉した例外に対してどんなエラーページを表示するのかをActionDispatch::PublicExceptionsが処理しています。 例えばActionController::RoutingErrorが発生した場合、対応する404のHTMLファイルpublic/404.htmlが表示される、という感じです。 なお、rails generateしたときに用意されるHTML

    Railsアプリの例外ハンドリングとエラーページの表示についてまとめてみた - Qiita
  • Rails の exceptions_app によるエラーページの表示をテストする - Qiita

    背景 exceptions_appの仕組みで例外を捕捉しようとしているとき(*)、その処理は Rack Middleware のActionDispatch::ShowExceptionsで行われます。番環境 (RAILS_ENV = production) ではここで例外が捕捉されることによりエラーページが表示されます。 一方でテスト環境 (RAILS_ENV = test) では、デフォルトの設定のままではこれが無効になっており、エラーページは表示されません。 例外が発生することをテストすることができるため通常はこの動作は望ましいのですが、Requests Spec や Features Spec などで、エラー発生時の表示やステータスコードをテストしたい時があります。 そういう時のために、一時的にActionDispatch::ShowExceptionsでの例外捕捉を有効にし、エ

    Rails の exceptions_app によるエラーページの表示をテストする - Qiita
  • tmuxとMacのクリップボードを共有する(copy-mode, vim) - Qiita

    環境 OS X: 10.9.1 tmux: 1.9 vim: 7.4.161 tmux 2.4 からは、以下で説明している vi-copy が copy-mode-vi に変更になりました。また、 copy-pipe 相当の動作は copy-pipe-and-cancel となりました tmux 2.6 からは、以下で説明している reattach-to-user-namespace の設定は不要です。copy-pipe-and-cancel には単に "pbcopy" を指定すればOKです tmuxのコピーコマンドでのクリップボード共有 下記の方法でvimライクの設定にすることができる。 tmux Copy & Paste on OS X: A Better Future 使うのはreattach-to-user-namespace。Homebrewでインストールできる。 ChrisJo

    tmuxとMacのクリップボードを共有する(copy-mode, vim) - Qiita
    d_animal141
    d_animal141 2018/10/31
    “copy-pipe-and-cancel”
  • RSpec でキューイングした ActiveJob を同期実行する - Qiita

    ジョブの実行をテストしたいとき、キューに入ったことをテストしたいだけのときと、その実行結果まで含めてテストしたいとき(つまり同期実行したいとき)がある。 前者であればRails.application.config.active_job.queue_adapter = :testで足りるが、後者を実現するためにはどうすればよいだろう。 方法はいくつかあって、まずはRails.application.config.active_job.queue_adapter = :inlineとする方法。 これは簡単に同期実行は実現できるが、こんどはキューに入ったことが確認できなくなってしまうし、他の非同期のままにしておきたいところまで影響がでてしまう。 またSidekiqを使っているのであればSidekiq::Testing.inline!やSidekiq::Testing.fake! で制御すること

    RSpec でキューイングした ActiveJob を同期実行する - Qiita
  • 1