Module: Is::Stateful

Extended by:
Extension, Localized
Defined in:
lib/is/stateful.rb

Overview

public

Makes objects stateful.

Defined Under Namespace

Modules: Copy

Constant Summary collapse

ALLOWED_FLAGS =
%i[class instance].freeze

Class Method Summary collapse

Class Method Details

.copied_objectsObject



290
291
292
# File 'lib/is/stateful.rb', line 290

def copied_objects
  localized(:__corerb_copied_objects) || localize(:__corerb_copied_objects, {})
end

.copying?(object) ⇒ Boolean

Returns:

  • (Boolean)


286
287
288
# File 'lib/is/stateful.rb', line 286

def copying?(object)
  copied_objects[object.object_id]
end

.prevent_recursion(object) ⇒ Object



278
279
280
281
282
283
284
# File 'lib/is/stateful.rb', line 278

def prevent_recursion(object)
  object_id = object.object_id
  copied_objects[object_id] = true
  yield
ensure
  copied_objects.delete(object_id)
end