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_objects ⇒ Object
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
286 287 288 |
# File 'lib/is/stateful.rb', line 286 def (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 |