mirror of
https://github.com/faye/websocket-driver-ruby.git
synced 2025-11-01 13:59:38 +00:00
Remove the Publisher mixin.
This commit is contained in:
@@ -19,7 +19,6 @@ module Faye
|
||||
autoload :Draft75Parser, root + '/draft75_parser'
|
||||
autoload :Draft76Parser, root + '/draft76_parser'
|
||||
autoload :Protocol8Parser, root + '/protocol8_parser'
|
||||
autoload :Publisher, root + '/publisher'
|
||||
|
||||
# http://www.w3.org/International/questions/qa-forms-utf-8.en.php
|
||||
UTF8_MATCH = /^([\x00-\x7F]|[\xC2-\xDF][\x80-\xBF]|\xE0[\xA0-\xBF][\x80-\xBF]|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}|\xED[\x80-\x9F][\x80-\xBF]|\xF0[\x90-\xBF][\x80-\xBF]{2}|[\xF1-\xF3][\x80-\xBF]{3}|\xF4[\x80-\x8F][\x80-\xBF]{2})*$/
|
||||
|
||||
@@ -10,8 +10,6 @@ module Faye
|
||||
attr_reader :url, :ready_state, :buffered_amount
|
||||
attr_accessor :onopen, :onmessage, :onerror, :onclose
|
||||
|
||||
include Publisher
|
||||
|
||||
def receive(data)
|
||||
return false unless ready_state == OPEN
|
||||
event = Event.new('message')
|
||||
@@ -53,20 +51,29 @@ module Faye
|
||||
end
|
||||
|
||||
def add_event_listener(type, listener, use_capture)
|
||||
bind(type, listener)
|
||||
@listeners ||= {}
|
||||
list = @listeners[event_type] ||= []
|
||||
list << listener
|
||||
end
|
||||
|
||||
def remove_event_listener(type, listener, use_capture)
|
||||
unbind(type, listener)
|
||||
return unless @listeners and @listeners[event_type]
|
||||
return @listeners.delete(event_type) unless listener
|
||||
|
||||
@listeners[event_type].delete_if(&listener.method(:==))
|
||||
end
|
||||
|
||||
def dispatch_event(event)
|
||||
event.target = event.current_target = self
|
||||
event.event_phase = Event::AT_TARGET
|
||||
|
||||
trigger(event.type, event)
|
||||
callback = __send__("on#{ event.type }")
|
||||
callback.call(event) if callback
|
||||
|
||||
return unless @listeners and @listeners[event_type]
|
||||
@listeners[event_type].each do |listener|
|
||||
listener.call(*args)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
class Faye::WebSocket
|
||||
module Publisher
|
||||
|
||||
def count_listeners(event_type)
|
||||
return 0 unless @subscribers and @subscribers[event_type]
|
||||
@subscribers[event_type].size
|
||||
end
|
||||
|
||||
def bind(event_type, &listener)
|
||||
@subscribers ||= {}
|
||||
list = @subscribers[event_type] ||= []
|
||||
list << listener
|
||||
end
|
||||
|
||||
def unbind(event_type, &listener)
|
||||
return unless @subscribers and @subscribers[event_type]
|
||||
return @subscribers.delete(event_type) unless listener
|
||||
|
||||
@subscribers[event_type].delete_if(&listener.method(:==))
|
||||
end
|
||||
|
||||
def trigger(event_type, *args)
|
||||
return unless @subscribers and @subscribers[event_type]
|
||||
@subscribers[event_type].each do |listener|
|
||||
listener.call(*args)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user