lib/cyberarm_engine/ui/event.rb in cyberarm_engine-0.19.0 vs lib/cyberarm_engine/ui/event.rb in cyberarm_engine-0.19.1
- old
+ new
@@ -1,54 +1,54 @@
-module CyberarmEngine
- module Event # Gets included into Element
- def subscribe(event, method = nil, &block)
- handler = method || block
- @event_handler[event] << handler
-
- Subscription.new(self, event, handler)
- end
-
- def unsubscribe(subscription)
- end
-
- def publish(event, *args)
- raise ArgumentError, "#{self.class} does not handle #{event.inspect}" unless @event_handler.include?(event)
-
- return unless enabled?
-
- was_handled = false
-
- was_handled = true if respond_to?(event) && (send(event, self, *args) == :handled)
-
- @event_handler[event].reverse_each do |handler|
- if handler.call(self, *args) == :handled
- was_handled = true
- break
- end
- end
-
- return :handled if was_handled
-
- parent.publish(event, *args) if parent
- nil
- end
-
- def event(event)
- @event_handler ||= {}
- @event_handler[event] ||= []
- end
- end
-
- class Subscription
- attr_reader :publisher, :event, :handler
-
- def initialize(publisher, event, handler)
- @publisher = publisher
- @event = event
- @handler = handler
- end
-
- def unsubscribe
- @publisher.unsubscribe(self)
- end
- end
-end
+module CyberarmEngine
+ module Event # Gets included into Element
+ def subscribe(event, method = nil, &block)
+ handler = method || block
+ @event_handler[event] << handler
+
+ Subscription.new(self, event, handler)
+ end
+
+ def unsubscribe(subscription)
+ end
+
+ def publish(event, *args)
+ raise ArgumentError, "#{self.class} does not handle #{event.inspect}" unless @event_handler.include?(event)
+
+ return unless enabled?
+
+ was_handled = false
+
+ was_handled = true if respond_to?(event) && (send(event, self, *args) == :handled)
+
+ @event_handler[event].reverse_each do |handler|
+ if handler.call(self, *args) == :handled
+ was_handled = true
+ break
+ end
+ end
+
+ return :handled if was_handled
+
+ parent.publish(event, *args) if parent
+ nil
+ end
+
+ def event(event)
+ @event_handler ||= {}
+ @event_handler[event] ||= []
+ end
+ end
+
+ class Subscription
+ attr_reader :publisher, :event, :handler
+
+ def initialize(publisher, event, handler)
+ @publisher = publisher
+ @event = event
+ @handler = handler
+ end
+
+ def unsubscribe
+ @publisher.unsubscribe(self)
+ end
+ end
+end