class Ractor::Wrapper::MethodSettings

Settings for a method call. Specifies how a method's arguments and return value are communicated (i.e. copy or move semantics.)

Public Class Methods

new(move: false, move_arguments: nil, move_return: nil) click to toggle source

@private

# File lib/ractor/wrapper.rb, line 362
def initialize(move: false,
               move_arguments: nil,
               move_return: nil)
  @move_arguments = interpret_setting(move_arguments, move)
  @move_return = interpret_setting(move_return, move)
  freeze
end

Public Instance Methods

move_arguments?() click to toggle source

@return [Boolean] Whether to move arguments

# File lib/ractor/wrapper.rb, line 373
def move_arguments?
  @move_arguments
end
move_return?() click to toggle source

@return [Boolean] Whether to move return values

# File lib/ractor/wrapper.rb, line 380
def move_return?
  @move_return
end

Private Instance Methods

interpret_setting(setting, default) click to toggle source
# File lib/ractor/wrapper.rb, line 386
def interpret_setting(setting, default)
  if setting.nil?
    default ? true : false
  else
    setting ? true : false
  end
end