Sha256: 2da4e6e61d1f4e747190924bf2a0c6437d05c1090e41ca9869df02ba47a2a640

Contents?: true

Size: 1.14 KB

Versions: 1

Compression:

Stored size: 1.14 KB

Contents

## [0.3.0] — 2024-10-27

### Added

- Improved extendability: one may override `Magic::Decoratable#decorator_base` to be used for lookups.
- `Magic::Decoratable.classes` for all the decoratables.

### Fixed

- Failures on double decoration attempts.


## [0.2.0] — 2024-10-17

### Changed

- For almost any method called on a decorated object, both its result and `yield`ed arguments get decorated.
  Some methods aren’t meant to be decorated though:
	- `deconstruct` & `deconstruct_keys` for _pattern matching_,
	- _converting_ methods: those starting with `to_`,
	- _system_ methods: those starting with `_`.

### Added

- `Magic::Decorator::Base.undecorated` to exclude methods from being decorated automagically.

#### Default decorators

- `EnumerableDecorator` to decorate `Enumerable`s.
	- enables _splat_ operator: `*decorated` ,
	- enables _double-splat_ operator: `**decorated`,
	- enumerating methods yield decorated items.


## [0.1.0] — 2024-10-13

### Added

- `Magic::Decorator::Base` — a basic decorator class.
- `Magic::Decoratable` to be included in decoratable classes.
	- `#decorate`,
	- `#decorate!`,
	- `#decorated`,
	- `#decorated?`.

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
magic-decorator-0.3.0 CHANGELOG.md