Dashingというgemを使って簡単に実現できます。
2秒ぐらいデモサイトをみればどんなんか一目でわかると思います。
手軽です。Getting Startedの記述に、dashingのプロジェクトを作りましょう。 dashingのプロジェクトを作ったらすでにサンプルが動作できます。
動きを追いかけたいなら、作ったプロジェクトのdashboardsやjobsの中にいつもどおりp仕込んだり、pry仕込んだりしてみましょう。
dashingプロジェクトの下には、下記のようなディレクトリが作られます。
assets dashboards jobs lib widgets
widgetsに予めいろんなダッシュボードのウィジットが入ってます。コメント表示用ウィジットとか、値表示用ウィジットとか、グラフ表示ウィジットとか色々あります。
dashboardsにダッシュボード定義を置きます。ダッシュボードにはどういうレイアウトでどのウィジットを配置するか、ウィジットにどういうデータをはめ込むかを書きます。
jobsディレクトリに置いたジョブから、ウィジットにはめ込むデータを吐き出してやります。
「Getting Data Into Your Widgets」の通り、SCHEDULER.everyが引数の周期でぐるぐる実行され、そのたびにsend_eventメソッドによって、キーと値(となるハッシュ)がウィジットに吐き出されます。 ウィジットとジョブとは、data-idとsend_eventの第一引数とで紐付いています。