Module: Ignis::Shared::FFILoader
- Defined in:
- lib/nnw/shared/ffi_loader.rb
Constant Summary collapse
- PROJECT_ROOT =
Returns the project root directory.
File.(File.join(__dir__, '..', '..', '..')).freeze
- VENDOR_FFI_PATH =
Returns vendored FFI gem path.
File.join(PROJECT_ROOT, 'vendor', 'ffi', 'gems').freeze
Class Method Summary collapse
-
.load! ⇒ void
Load the FFI gem, preferring vendored copy if available.
-
.loaded? ⇒ Boolean
Whether FFI has been loaded.
Class Method Details
.load! ⇒ void
This method returns an undefined value.
Load the FFI gem, preferring vendored copy if available.
30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/nnw/shared/ffi_loader.rb', line 30 def load! return if @loaded vendored_path = detect_vendored_ffi if vendored_path $LOAD_PATH.unshift(vendored_path) unless $LOAD_PATH.include?(vendored_path) end require 'ffi' @loaded = true end |
.loaded? ⇒ Boolean
Returns whether FFI has been loaded.
43 44 45 |
# File 'lib/nnw/shared/ffi_loader.rb', line 43 def loaded? @loaded end |