module MyPusherModule
Pusherサービスへのアクセスを提供する app.pusherapp.com/apps/7449/api_access?welcome=true
@pusher_app_id = 'your pusher app id' @pusher_key = 'pusher key' @pusher_secret = 'pusher secret' @config ~/config.ymlに mypushermodule: app_id: xxx key: xxxxxxxxxxxxx secret: xxxxxxxxxx event: my_event channel: test_channel
使い方など class ThisDo
include MyPusherModule
して o = ThisDo.new o.push_pusher(‘test_app’,‘test’) とかでok
Public Instance Methods
get_puhser_html()
click to toggle source
# File lib/lib/mypusher.rb, line 56 def get_puhser_html return <<-"EOT" <!DOCTYPE html> <head> <title>PusherTail</title> <script src="http://js.pusherapp.com/1.8/pusher.min.js"></script> <script> // Enable pusher logging - don't include this in production Pusher.log = function(message) { if (window.console && window.console.log) window.console.log(message); }; // Flash fallback logging - don't include this in production WEB_SOCKET_DEBUG = true; var pusher = new Pusher('#{ @c['key']}'); var channel = pusher.subscribe('#{ @c['channel']}'); channel.bind('#{ @c['event']}', function(data) { hoge = document.getElementById("main").innerHTML; document.getElementById("main").innerHTML = data['#{ @c['app_name']}'] + "<hr>" + hoge; }); </script> </head> <body> work at Chrome <div id="main"> </div> </body> EOT end
push_pusher(app_name='test_app',data='test')
click to toggle source
Pusherにデータをpushする
args app_name : string アプリの名前 data : string データ
# File lib/lib/mypusher.rb, line 43 def push_pusher(app_name='test_app',data='test') if @pusherconnected == nil set_my_pusher @pusherconnected = true end begin Pusher[@pusher_channel].trigger!( @pusher_event, { app_name => data}) rescue Pusher::Error => e p e end end
set_my_pusher()
click to toggle source
Pusherへの接続を設定する
# File lib/lib/mypusher.rb, line 28 def set_my_pusher @c = MyConfig.get['mypushermodule'] require "pusher" Pusher.app_id = @c['app_id'] Pusher.key = @c['key'] Pusher.secret = @c['secret'] @pusher_event = @c['event'] @pusher_channel = @c['channel'] p @c end