Class: MaterialRaingular::Websocket::Emitter
- Inherits:
-
Object
- Object
- MaterialRaingular::Websocket::Emitter
- Defined in:
- lib/material_raingular/websocket/emitter.rb
Instance Attribute Summary collapse
-
#channel ⇒ Object
Returns the value of attribute channel.
Class Method Summary collapse
- .[](channel) ⇒ Object
- .publish(channel, action, data) ⇒ Object
- .redis ⇒ Object
- .token(channel) ⇒ Object
Instance Method Summary collapse
-
#initialize(channel = nil) ⇒ Emitter
constructor
A new instance of Emitter.
- #publish(action, data) ⇒ Object
- #redis ⇒ Object
- #token ⇒ Object
Constructor Details
#initialize(channel = nil) ⇒ Emitter
Returns a new instance of Emitter.
22 23 24 |
# File 'lib/material_raingular/websocket/emitter.rb', line 22 def initialize(channel=nil) self.channel = channel end |
Instance Attribute Details
#channel ⇒ Object
Returns the value of attribute channel.
25 26 27 |
# File 'lib/material_raingular/websocket/emitter.rb', line 25 def channel @channel end |
Class Method Details
.[](channel) ⇒ Object
5 6 7 |
# File 'lib/material_raingular/websocket/emitter.rb', line 5 def [](channel) new(channel) end |
.publish(channel, action, data) ⇒ Object
10 |
# File 'lib/material_raingular/websocket/emitter.rb', line 10 def publish(channel,action,data) new(channel).publish(action,data) end |
.redis ⇒ Object
8 |
# File 'lib/material_raingular/websocket/emitter.rb', line 8 def redis() new.redis end |
.token(channel) ⇒ Object
9 |
# File 'lib/material_raingular/websocket/emitter.rb', line 9 def token(channel) new(channel).token end |
Instance Method Details
#publish(action, data) ⇒ Object
18 19 20 21 |
# File 'lib/material_raingular/websocket/emitter.rb', line 18 def publish(action,data) return unless token.present? redis.publish "websocket_rails.events", [action,{data: data,channel: channel, token: token}].to_json end |
#redis ⇒ Object
12 13 14 |
# File 'lib/material_raingular/websocket/emitter.rb', line 12 def redis() @redis ||= Redis.new(WebsocketRails.config..reject{|k,v| k.to_sym == :driver}) end |
#token ⇒ Object
15 16 17 |
# File 'lib/material_raingular/websocket/emitter.rb', line 15 def token @token ||= redis.hget "websocket_rails.channel_tokens", channel end |