Per-object change adds or alters behavior for one individual object without changing how other instances of its class behave. section 13.2.1
Ruby core functionality is approached through four techniques: additive change, pass-through change, per-object change, and refinements. Refinements provide module-scoped changes, while per-object change is identified as a separate technique. section 13.2.1
Use per-object change when the customization should remain local to a particular object.
- Keep the behavior of other instances unchanged. section 13.2.1
- Compare it with additive change, pass-through change, and refinements when selecting a way to modify core behavior. section 13.2.1
