Commit | Line | Data |
---|---|---|
54b1774e | 1 | package CatalystX::HelpText::Finder::TemplateToolkit; |
2 | use Moose; | |
54b1774e | 3 | use List::MoreUtils qw/ uniq /; |
e5459d76 | 4 | use MooseX::Types::Moose qw/Str/; |
54b1774e | 5 | use Template; |
009a8923 | 6 | use namespace::autoclean; |
54b1774e | 7 | |
16a04c5b | 8 | has template_search_dir => ( |
9 | isa => Str, | |
10 | is => 'ro', | |
11 | required => 1, | |
12 | ); | |
13 | ||
54b1774e | 14 | sub find_helptext_keys_in_fn { |
16a04c5b | 15 | my ($self, $fn) = @_; |
54b1774e | 16 | my @keys = (); |
17 | my $t = Template->new({ | |
16a04c5b | 18 | INCLUDE_PATH => [ $self->template_search_dir ], |
54b1774e | 19 | ABSOLUTE => 1, |
20 | }); | |
21 | my $out; | |
22 | $t->process($fn, { help_text => sub { push @keys, shift } }, \$out); | |
23 | return [ uniq @keys ]; | |
24 | } | |
25 | ||
009a8923 | 26 | __PACKAGE__->meta->make_immutable; |
27 | 1; | |
28 |