Top Level Namespace
Defined Under Namespace
Modules: Contrast, ERBPropagator, Funchook, Kernel Classes: Delegator, Hash, Module, Object, String, Thread
Constant Summary collapse
- FUNCHOOK_DIR_NAME =
'funchook'- FUNCHOOK_DIR =
File.(File.join(File.dirname(File.(__FILE__)), '..', FUNCHOOK_DIR_NAME))
- COMMANDS =
['./autogen.sh', './configure', 'make clean', 'make'].freeze
- SOURCE_PATHS =
[ File.join('include', 'funchook.h'), File.join('src', 'libfunchook.dylib'), File.join('src', 'libfunchook.so') ].freeze
- TARGET_PATHS =
([ File.(File.join(File.(__dir__), '..', 'shared_libraries')), File.(__dir__) ] + bundler_install_target_paths).freeze
Instance Method Summary collapse
- #ext_path ⇒ Object
- #make! ⇒ Object
- #name ⇒ Object
-
#protobuf ⇒ Object
This file is auto-generated.
-
#unbound_eval(_class_name, content) ⇒ Object
This method is left purposefully at the top level namespace.
Instance Method Details
#ext_path ⇒ Object
15 16 17 18 19 |
# File 'ext/extconf_common.rb', line 15 def ext_path # __dir__ is relative to the file you're reading. # this file you're reading is presently within $APP_ROOT/ext/. __dir__ end |
#make! ⇒ Object
11 12 13 |
# File 'ext/extconf_common.rb', line 11 def make! create_makefile "#{ name }/#{ name }" end |
#name ⇒ Object
7 8 9 |
# File 'ext/extconf_common.rb', line 7 def name $TO_MAKE end |
#protobuf ⇒ Object
This file is auto-generated. DO NOT EDIT!
6 |
# File 'lib/contrast/api/dtm.pb.rb', line 6 require 'protobuf' |
#unbound_eval(_class_name, content) ⇒ Object
This method is left purposefully at the top level namespace. Moving it elsewhere will break functionality as it executes evaluations against the namespace from which it is called – ie putting it in Contrast would make all changes it intends for Foo happen to Contrast::Foo instead
18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/contrast/agent/class_reopener.rb', line 18 def unbound_eval _class_name, content # Yuck, this is a top-level method that has to break encapsulation # in order to access scoping! Contrast::Components::Scope::COMPONENT_INTERFACE.scope_for_current_ec.enter_contrast_scope! eval(content) # rubocop:disable Security/Eval rescue Exception # rubocop:disable Lint/RescueException # We can't use components here, so we have to access the log directly. I hate # it, but we'll have to deal with it until we remove 2.5 support. Contrast::Logger::Log.instance.logger.error('Unable to perform unbound eval of new content', module: class_name) # And we need to return nil here, not the value from the logger. nil ensure Contrast::Components::Scope::COMPONENT_INTERFACE.scope_for_current_ec.exit_contrast_scope! end |