Class: RecordingParent
- Inherits:
- BasicObject
- Extended by:
- ConstMissing
- Defined in:
- lib/dissociated_introspection/recording_parent.rb
Defined Under Namespace
Modules: ConstMissing
Class Method Summary collapse
- .__missing_class_macros__ ⇒ Object
- .__missing_constants__ ⇒ Object
- .listen_to_defined_macros(*methods) ⇒ Object
- .method_missing(m, *args, &block) ⇒ Object
Methods included from ConstMissing
Class Method Details
.__missing_class_macros__ ⇒ Object
7 8 9 |
# File 'lib/dissociated_introspection/recording_parent.rb', line 7 def __missing_class_macros__ @__missing_class_macros__ ||= [] end |
.__missing_constants__ ⇒ Object
35 36 37 38 |
# File 'lib/dissociated_introspection/recording_parent.rb', line 35 def __missing_constants__ # This file and it's class variables are reinitialized within a new module namespace on every run. @@__missing_constants__ ||= {} end |
.listen_to_defined_macros(*methods) ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'lib/dissociated_introspection/recording_parent.rb', line 40 def listen_to_defined_macros(*methods) methods.each do |m| module_eval(<<-RUBY, __FILE__) def self.#{m}(*args, &block) __missing_class_macros__.push({ __method__ => [args, block].compact }) end RUBY end end |
.method_missing(m, *args, &block) ⇒ Object
3 4 5 |
# File 'lib/dissociated_introspection/recording_parent.rb', line 3 def method_missing(m, *args, &block) __missing_class_macros__.push({ m => [args, block].compact }) end |