Commit | Line | Data |
---|---|---|
9d759b64 | 1 | package DX::Role::SimpleAction; |
2 | ||
3 | use DX::Role; | |
4 | ||
3e465d5d | 5 | with 'DX::Role::Action'; |
6 | ||
0498469a | 7 | has target_path => (is => 'ro', required => 1); |
9d759b64 | 8 | |
0498469a | 9 | has _updates => (is => 'lazy'); |
9d759b64 | 10 | |
0498469a | 11 | requires '_build__updates'; |
12 | ||
13 | sub dry_run { | |
9d759b64 | 14 | my ($self, $hyp) = @_; |
0498469a | 15 | my ($scope, @events) = $hyp->scope->apply_updates($self->_updates); |
9d759b64 | 16 | return ( |
17 | $hyp->but( | |
18 | scope => $scope, | |
19 | actions => [ @{$hyp->actions}, $self ], | |
20 | ), | |
21 | @events | |
22 | ); | |
23 | } | |
24 | ||
25 | sub run { shift->updates } | |
26 | ||
27 | 1; |