Module: SuperModule::V1::ModuleBodyMethodCallRecorder
- Defined in:
- lib/super_module/v1/module_body_method_call_recorder.rb
Instance Method Summary collapse
- #__all_module_body_method_calls_in_definition_order ⇒ Object
- #__inside_super_module_included=(value) ⇒ Object
- #__inside_super_module_included? ⇒ Boolean
- #__method_signature(method_name, args) ⇒ Object
- #__module_body_method_calls ⇒ Object
- #__record_method_call(method_name, *args, &block) ⇒ Object
- #__singleton_method_call_recorder(method_name, method_args) ⇒ Object
- #__super_module_singleton_methods_excluded_from_call_recording ⇒ Object
Instance Method Details
#__all_module_body_method_calls_in_definition_order ⇒ Object
34 35 36 37 38 |
# File 'lib/super_module/v1/module_body_method_call_recorder.rb', line 34 def __all_module_body_method_calls_in_definition_order ancestor_module_body_method_calls = included_super_modules.map(&:__module_body_method_calls).flatten(1) all_module_body_method_calls = __module_body_method_calls + ancestor_module_body_method_calls all_module_body_method_calls.reverse end |
#__inside_super_module_included=(value) ⇒ Object
30 31 32 |
# File 'lib/super_module/v1/module_body_method_call_recorder.rb', line 30 def __inside_super_module_included=(value) @__inside_super_module_included = !!value end |
#__inside_super_module_included? ⇒ Boolean
26 27 28 |
# File 'lib/super_module/v1/module_body_method_call_recorder.rb', line 26 def __inside_super_module_included? @__inside_super_module_included end |
#__method_signature(method_name, args) ⇒ Object
17 18 19 |
# File 'lib/super_module/v1/module_body_method_call_recorder.rb', line 17 def __method_signature(method_name, args) "#{method_name}(#{args.to_a.map(&:to_s).join(",")})" end |
#__module_body_method_calls ⇒ Object
13 14 15 |
# File 'lib/super_module/v1/module_body_method_call_recorder.rb', line 13 def __module_body_method_calls @__module_body_method_calls ||= [] end |
#__record_method_call(method_name, *args, &block) ⇒ Object
21 22 23 24 |
# File 'lib/super_module/v1/module_body_method_call_recorder.rb', line 21 def __record_method_call(method_name, *args, &block) return if self.is_a?(Class) || __inside_super_module_included? __module_body_method_calls << [method_name, args, block] end |
#__singleton_method_call_recorder(method_name, method_args) ⇒ Object
40 41 42 43 44 45 46 47 |
# File 'lib/super_module/v1/module_body_method_call_recorder.rb', line 40 def __singleton_method_call_recorder(method_name, method_args) unless __super_module_singleton_methods_excluded_from_call_recording.include?(method_name) method_call_recorder_args = "'#{method_name}'" method_call_recorder_args << ", #{method_args}" unless method_args.to_s.strip == '' method_call_recorder_args = method_call_recorder_args.split(",").each_with_index.map {|arg, i| i == 0 ? arg : arg.split("=").first}.join(",") "self.__record_method_call(#{method_call_recorder_args})" end end |
#__super_module_singleton_methods_excluded_from_call_recording ⇒ Object
4 5 6 7 8 9 10 11 |
# File 'lib/super_module/v1/module_body_method_call_recorder.rb', line 4 def __super_module_singleton_methods_excluded_from_call_recording @__super_module_singleton_methods_excluded_from_call_recording ||= [ :__record_method_call, :__method_signature, :__inside_super_module_included?, :__inside_super_module_included=, ] end |