タグ

ブックマーク / qiita.com/QUANON (2)

  • Action Cable でプログレスバーを更新する - Qiita

    概要 こんにちは、QUANON です。 Rails 5 の Action Cable の登場により、Rails アプリケーションの可能性がぐっと広がりましたね。今回はその Action Cable のシンプルな利用例を 1 つご紹介したいと思います。 利用例 サーバ側で何か重い処理を実行しており、その進捗率を逐次ユーザに伝えることができれば便利ですよね。例えば「ユーザから大量データの CSV ファイルの生成リクエストを受け付けて、その生成状況を画面上のプログレスバーにリアルタイムで表示する」などです。クライアントから Ajax 通信でサーバに進捗率を定期的に問い合わせ、その結果を受けてプログレスバーを更新することも可能ですが、できればもっとスマートな方法を選びたいですね。 そこで Action Cable の出番です。WebSocket を使って、サーバからクライアントに直接進捗率を送って

    Action Cable でプログレスバーを更新する - Qiita
  • RSpec で Kernel.open をスタブする - Qiita

    class HidamariController < ApplicationController # POST /hidamari/sketch def sketch ### 略 ### open('http://www.tbs.co.jp/anime/hidamari/') ### 略 ### end end 上記のように open-uri の Kernel.open を使用しているコードがあります。 その単体テストで open が呼ばれることを確認したいです。 うーん、Kernel.open をスタブする方法がぱっと思い浮かばなかったので色々試してみました。 # NG expect(Kernel).to receive(:open).with('http://www.tbs.co.jp/anime/hidamari/') # OK expect_any_instance_of(Kern

    RSpec で Kernel.open をスタブする - Qiita
  • 1