+sub projects {
+ my $self = shift;
+
+ return $self->{projects} if $self->{projects};
+
+ my %projects;
+ for my $line (@{$self->_lines}) {
+ my $project = $line->{project};
+ $projects{$project}++ if $project;
+ }
+
+ my $projects = [sort keys %projects];
+ $self->{projects} = $projects;
+
+ return $projects;
+}
+
+