Skip to content

Commit ea7114e

Browse files
dblockCopilot
andcommitted
Add example of subclass redefining a parent key to README.md
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 59b450d commit ea7114e

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

README.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,17 @@ ShippedOrderState.key?(:CREATED) # true
270270
ShippedOrderState.value(:CREATED) # 'CREATED'
271271
```
272272

273-
A sub class may redefine a key or value already used by a parent class; its own definition takes precedence.
273+
A sub class may redefine a key or value already used by a parent class without raising `DuplicateKeyError` or `DuplicateValueError`; its own definition takes precedence.
274+
275+
``` ruby
276+
class ShippedOrderState < OrderState
277+
define :CREATED, 'RECREATED' # does not raise, overrides the parent class' definition
278+
end
279+
280+
ShippedOrderState::CREATED # 'RECREATED'
281+
ShippedOrderState.value(:CREATED) # 'RECREATED'
282+
OrderState.value(:CREATED) # 'CREATED', unaffected
283+
```
274284

275285
### Exhaustive case matcher
276286

0 commit comments

Comments
 (0)