Как передать массив из weaver.ini в плагин Pod :: Weaver - PullRequest
2 голосов
/ 06 августа 2011

Похоже, что для передачи чего-либо в weaver.ini сам плагин требует атрибут Moose.Поэтому, если у меня есть что-то подобное в weaver.ini

[Acknowledgements]
contributors = 'test foo' 'foo bar'

, мне нужен соответствующий атрибут в моем плагине.

has contributors => (
    is      => 'rw',
    isa     => 'ArrayRef[Str]',
    traits  => [ 'Array' ],
    default => sub { [ ] },
    handles => {
        contributors_count => 'count',
    },
);

Однако я получаю ошибку

Attribute (contributors) does not pass the type constraint because: Validation failed for 'ArrayRef[Str]' with value 'test foo' 'foo bar' at /home/xenoterracide/perl5/perlbrew/perls/perl-5.14.1/lib/site_perl/5.14.1/x86_64-linux-thread-multi/Moose/Meta/Attribute.pm line 1248

Я не уверен, где я иду не так.Я попытался изменить синтаксис в weaver.ini, но это не так.

1 Ответ

3 голосов
/ 06 августа 2011

Синтаксис .ini для этого немного отличается.

[Acknowledgements]
contributor = test foo
contributor = foo bar

В дополнение к этому вам нужно будет сказать Config::MVP, что и заботится о конфигурации Dist::Zillaзагрузка, что опция вашего плагина contributor может иметь несколько значений:

sub mvp_multivalue_args { qw(contributors) }
...