Class: Kamaze::Project::Observer Abstract

Inherits:
Object
  • Object
show all
Defined in:
lib/kamaze/project/observer.rb

Overview

This class is abstract.

Observer class

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.observe(observed_class, func = nil) ⇒ self

Subscribe to given class.

Parameters:

  • observed_class (Class)

Returns:

  • (self)


22
23
24
25
26
# File 'lib/kamaze/project/observer.rb', line 22

def observe(observed_class, func = nil)
  observed_class.add_observer(*[self, func].compact)

  self
end

Instance Method Details

#handle_event(func, *args) ⇒ self

Callback for observer.

Returns:

  • (self)


32
33
34
35
36
# File 'lib/kamaze/project/observer.rb', line 32

def handle_event(func, *args)
  self.__send__(func, *args) if self.respond_to?(func, true)

  self
end