diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-01 23:21:20 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-01 23:21:20 +0200 |
| commit | fba26f6d9f18600dc313b6d4ade65d536e9762e9 (patch) | |
| tree | d10d582416c5a1e831de7eae220d16cc280919ce /lib/dslkeywords/keyword.rb | |
| parent | 85f1805bea38d5f1558c92ff354f2d5bf832f0e6 (diff) | |
refactor: narrow BasicFile interface — apply ISP to Touch and Directory
Touch and Directory inherited content/from from BaseFile but had no use
for them. Directory worked around this by repurposing content() as a
source-directory path store, which was semantically misleading.
Changes:
- Move content/from down into BaseFile (only File and Symlink need them)
- Move evaluate_absent! up into BasicFile (Touch and Directory need it)
- Move UnsupportedOperation up into BasicFile (validate raises it there)
- Re-parent Touch and Directory to BasicFile directly
- Add Directory#source accessor to replace the content() misuse
- Update DSL#directory to call d.source(...) instead of d.content(...)
All 29 tests continue to pass.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'lib/dslkeywords/keyword.rb')
0 files changed, 0 insertions, 0 deletions
