84bb26345ec6e9b8e36ac17dbdb5b868b02704b7
[scpubgit/DKit.git] / lib / DX / Lib / FS / Observation / FileContent.pm
1 package DX::Lib::FS::Observation::FileContent;
2
3 use DX::Lib::FS::Fact::FileContent;
4 use Moo;
5
6 has path => (is => 'ro', required => 1);
7
8 sub run {
9   my ($self) = @_;
10   my $data = do {
11     open my $fh, '<', $self->path or die "Couldn't open ${\$self->path}: $!";
12     local $/;
13     readline($fh)
14   };
15   +(file_content => DX::Lib::FS::Fact::FileContent->new(
16     path => $self->path,
17     data => $data
18   ));
19 }
20
21 1;