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
47 48 49 50 51 52 53 54 |
# File 'lib/pulse_meter/observer.rb', line 47 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
34 35 36 37 38 39 40 |
# File 'lib/pulse_meter/observer.rb', line 34 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
20 21 22 23 24 25 26 27 |
# File 'lib/pulse_meter/observer.rb', line 20 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
9 10 11 12 13 14 15 |
# File 'lib/pulse_meter/observer.rb', line 9 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 |