Module: Farce::Shareable::Unfreezable

Overview

A structurally frozen service object that does not support logical freezing.

Examples:

Publish a service that must remain mutable

class Inbox
  include Farce::Shareable::Unfreezable

  def initialize
    @queue = Farce::Queue.new
    super
  end

  def push(value) = @queue.push(value)
end

inbox = Inbox.new
inbox.frozen? # => false
inbox.freeze  # raises TypeError

Method Summary

Methods included from Farce::Shareable

#initialize, #ractor_shareable?