Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion isolated/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,14 @@ gcc -shared -L/path/to/ruby/lib -lruby -lc -lm isolated.o -o isolated.so
That final shared library, `isolated.so`, is loaded like any other Ruby file, via `require` in `lib/rcee/isolated.rb`:

``` ruby
require_relative "isolated/isolated"
require "rcee/isolated/isolated"
```

Even though RubyGems currently installs shared libraries relatively to Ruby
files in lib/, it may stop doing so in the future, so it's safer to not load
shared libraries from Ruby code using `require_relative`, but rather rely on the
`$LOAD_PATH` and use `require`.

## Testing

See [.github/workflows/isolated.yml](../.github/workflows/isolated.yml)
Expand Down
2 changes: 1 addition & 1 deletion isolated/lib/rcee/isolated.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# frozen_string_literal: true

require_relative "isolated/version"
require_relative "isolated/isolated"
require "rcee/isolated/isolated"

module RCEE
module Isolated
Expand Down
2 changes: 1 addition & 1 deletion packaged_source/lib/rcee/packaged_source.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# frozen_string_literal: true

require_relative "packaged_source/version"
require_relative "packaged_source/packaged_source"
require "rcee/packaged_source/packaged_source"

module RCEE
module PackagedSource
Expand Down
2 changes: 1 addition & 1 deletion packaged_tarball/lib/rcee/packaged_tarball.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# frozen_string_literal: true

require_relative "packaged_tarball/version"
require_relative "packaged_tarball/packaged_tarball"
require "rcee/packaged_tarball/packaged_tarball"

module RCEE
module PackagedTarball
Expand Down
2 changes: 1 addition & 1 deletion precompiled/lib/rcee/precompiled.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
begin
# load the precompiled extension file
ruby_version = /(\d+\.\d+)/.match(::RUBY_VERSION)
require_relative "precompiled/#{ruby_version}/precompiled"
require "rcee/precompiled/#{ruby_version}/precompiled"
rescue LoadError
# fall back to the extension compiled upon installation.
# use "require" instead of "require_relative" because non-native gems will place C extension files
Expand Down
2 changes: 1 addition & 1 deletion system/lib/rcee/system.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# frozen_string_literal: true

require_relative "system/version"
require_relative "system/system"
require "rcee/system/system"

module RCEE
module System
Expand Down
Loading