Class: RecordingParent

Inherits:
BasicObject
Extended by:
ConstMissing
Defined in:
lib/dissociated_introspection/recording_parent.rb

Defined Under Namespace

Modules: ConstMissing

Class Method Summary collapse

Methods included from ConstMissing

const_missing

Class Method Details

.__missing_class_macros__Object



9
10
11
# File 'lib/dissociated_introspection/recording_parent.rb', line 9

def __missing_class_macros__
  @__missing_class_macros__ ||= []
end

.__missing_constants__Object



37
38
39
40
# File 'lib/dissociated_introspection/recording_parent.rb', line 37

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



42
43
44
45
46
47
48
49
50
# File 'lib/dissociated_introspection/recording_parent.rb', line 42

def listen_to_defined_macros(*methods)
  methods.each do |m|
    module_eval("      def self.\#{m}(*args, &block)\n        __missing_class_macros__.push({ __method__ => [args, block].compact })\n      end\n    RUBY\n  end\nend\n", __FILE__)

.method_missing(m, *args, &block) ⇒ Object



5
6
7
# File 'lib/dissociated_introspection/recording_parent.rb', line 5

def method_missing(m, *args, &block)
  __missing_class_macros__.push({ m => [args, block].compact })
end