Module: Farce::Unshareable

Overview

Mixin that makes sure instances cannot be shared between Ractors. Instances may be frozen without becoming Ractor-shareable.

Examples:

class MyClass
  include Farce::Unshareable
end

object = MyClass.new
object.freeze # Preserves the Ractor restrictions.

Ractor.shareable?(object) # => false

Defined Under Namespace

Modules: Copyable, Movable

Instance Method Summary collapse

Instance Method Details

#initialize ⇒ BasicObject

Make sure to call super if you include this module. Accepts any arguments and passes them on to the superclass initializer.



31
32
33
34
# File 'lib/farce/unshareable.rb', line 31

def initialize(...)
  pin_unshareable
  super
end

#ractor_shareable? ⇒ Boolean

Returns false.

Returns:

  • (Boolean) —

    false

See Also:



38
# File 'lib/farce/unshareable.rb', line 38

def ractor_shareable? = false