Class: PulseMeter::Observer
- Inherits:
-
Object
- Object
- PulseMeter::Observer
- Extended by:
- Mixins::Utils
- Defined in:
- lib/pulse-meter/observer.rb
Direct Known Subclasses
Defined Under Namespace
Classes: Extended
Class Method Summary collapse
-
.observe_class_method(klass, method, sensor, &proc) ⇒ Object
Registeres an observer for class method.
-
.observe_method(klass, method, sensor, &proc) ⇒ Object
Registeres an observer for instance method.
-
.unobserve_class_method(klass, method) ⇒ Object
Removes observation from class method.
-
.unobserve_method(klass, method) ⇒ Object
Removes observation from instance method.
Methods included from Mixins::Utils
assert_array!, assert_positive_integer!, assert_ranged_float!, camelize, camelize_keys, constantize, each_subset, parse_time, subsets_of, symbolize_keys, titleize, underscore, uniqid
Class Method Details
.observe_class_method(klass, method, sensor, &proc) ⇒ Object
Registeres an observer for class method
49 50 51 52 53 54 55 56 |
# File 'lib/pulse-meter/observer.rb', line 49 def observe_class_method(klass, method, sensor, &proc) with_observer = method_with_observer(method) unless klass.respond_to?(with_observer) method_owner = (klass) block = chain_block(method, sensor, &proc) method_owner.instance_eval &block end end |
.observe_method(klass, method, sensor, &proc) ⇒ Object
Registeres an observer for instance method
36 37 38 39 40 41 42 |
# File 'lib/pulse-meter/observer.rb', line 36 def observe_method(klass, method, sensor, &proc) with_observer = method_with_observer(method) unless klass.method_defined?(with_observer) block = chain_block(method, sensor, &proc) klass.class_eval &block end end |
.unobserve_class_method(klass, method) ⇒ Object
Removes observation from class method
22 23 24 25 26 27 28 29 |
# File 'lib/pulse-meter/observer.rb', line 22 def unobserve_class_method(klass, method) with_observer = method_with_observer(method) if klass.respond_to?(with_observer) method_owner = (klass) block = unchain_block(method) method_owner.instance_eval &block end end |
.unobserve_method(klass, method) ⇒ Object
Removes observation from instance method
11 12 13 14 15 16 17 |
# File 'lib/pulse-meter/observer.rb', line 11 def unobserve_method(klass, method) with_observer = method_with_observer(method) if klass.method_defined?(with_observer) block = unchain_block(method) klass.class_eval &block end end |