2011-08-06 5 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

관련 문제