2011-08-06 7 views
1

weaver.iniに何かを渡すには、プラグイン自体にMoose属性が必要です。私はweaver.iniweaver.iniの配列をPod :: Weaverプラグインに渡すには

[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で構文を変更しようとしましたが、それはそうではありません。

答えて

2

.iniの構文は少し異なります。

sub mvp_multivalue_args { qw(contributors) } 
+0

それは希望:

それに加えて
[Acknowledgements] contributor = test foo contributor = foo bar 

、あなたのプラグインのcontributorオプションは、複数の値を持つことが、Dist::Zillaの設定ロードの世話をするものですConfig::MVPを伝える必要があります私はそれをコードとコントリビュータのコントリビュータと呼ぶことができる前に、何か他のものが変更されなければならないことに気付きました。これを単に行うと、 '/home/xenoterracide/perl5/perlbrew/perls/perl-5.14.1/lib/site_perl/5.14.1/Config/MVP/Assembler.pmの行にある謝辞のセクションで、プロパティの寄与者に与えられた複数の値が得られます98 ' – xenoterracide

関連する問題