better naming and help command for KeyMangler
[scpubgit/DKit.git] / lib / DX / Role / Action.pm
index 113dd44..d345b4f 100644 (file)
@@ -2,6 +2,8 @@ package DX::Role::Action;
 
 use Moo::Role;
 
+has id => (is => 'ro');
+
 has dependencies => (is => 'ro', default => sub { [] });
 
 has was_run => (is => 'rw');
@@ -19,4 +21,12 @@ sub run {
   return @res;
 }
 
+sub as_structure {
+  my ($self) = @_;
+  my %data = %$self;
+  delete $data{dependencies} unless @{$data{dependencies}};
+  my $id = delete $data{id};
+  +{ $id => \%data };
+}
+
 1;