6366d4929afce8d3ccb5541ca899c594e66c536e
[scpubgit/DKit.git] / lib / DX / Lib / FS / Action / SetPathMode.pm
1 package DX::Lib::FS::Action::SetPathMode;
2
3 use Moo;
4
5 has path_status => (is => 'ro', required => 1);
6 has mode => (is => 'ro', required => 1);
7
8 with 'DX::Role::Action';
9 with 'DX::Lib::FS::Role::RunOn';
10
11 sub expected_effect {
12   my ($self) = @_;
13   my $ps = $self->path_status;
14   +(path_status => $ps->but(info => $ps->info->but(mode => $self->mode)));
15 }
16
17 sub _do_run {
18   my ($self) = @_;
19   $self->_call_guts(set_path_mode => $self->mode);
20   +(path_status => $self->path);
21 }
22
23 1;