@@ -2,6 +2,7 @@ package MetaCPAN::Role::Script;
22
33use Moose::Role;
44
5+ use Carp ();
56use ElasticSearchX::Model::Document::Types qw( ES ) ;
67use File::Path ();
78use IO::Prompt::Tiny qw( prompt ) ;
@@ -12,8 +13,6 @@ use MetaCPAN::Util qw( checkout_root );
1213use Mojo::Server ();
1314use Term::ANSIColor qw( colored ) ;
1415
15- use Carp ();
16-
1716with( ' MetaCPAN::Role::HasConfig' , ' MetaCPAN::Role::Fastly' ,
1817 ' MetaCPAN::Role::Logger' );
1918
@@ -74,21 +73,24 @@ has es => (
7473 is => ' ro' ,
7574 isa => ES,
7675 required => 1,
76+ init_arg => ' elasticsearch_servers' ,
7777 coerce => 1,
7878 documentation => ' Elasticsearch http connection string' ,
7979);
8080
8181has model => (
82- is => ' ro' ,
83- lazy => 1,
84- builder => ' _build_model' ,
85- traits => [' NoGetopt' ],
82+ is => ' ro' ,
83+ init_arg => undef ,
84+ lazy => 1,
85+ builder => ' _build_model' ,
86+ traits => [' NoGetopt' ],
8687);
8788
8889has index => (
8990 reader => ' _index' ,
9091 is => ' ro' ,
9192 isa => Str,
93+ lazy => 1,
9294 default => ' cpan' ,
9395 documentation =>
9496 ' Index to use, defaults to "cpan" (when used: also export ES_SCRIPT_INDEX)' ,
@@ -98,13 +100,15 @@ has cluster_info => (
98100 isa => HashRef,
99101 traits => [' Hash' ],
100102 is => ' rw' ,
103+ lazy => 1,
101104 default => sub { {} },
102105);
103106
104107has indices_info => (
105108 isa => HashRef,
106109 traits => [' Hash' ],
107110 is => ' rw' ,
111+ lazy => 1,
108112 default => sub { {} },
109113);
110114
@@ -118,7 +122,9 @@ has aliases_info => (
118122has port => (
119123 isa => Int,
120124 is => ' ro' ,
121- required => 1,
125+ required => 0,
126+ lazy => 1,
127+ default => sub {5000 },
122128 documentation => ' Port for the proxy, defaults to 5000' ,
123129);
124130
@@ -156,11 +162,11 @@ sub BUILDARGS {
156162 my ( $self , @args ) = @_ ;
157163 my %args = @args == 1 ? %{ $args [0] } : @args ;
158164
159- if ( exists $args {' index' } ) {
165+ if ( exists $args {index } ) {
160166 die
161167 " when setting --index, please export ES_SCRIPT_INDEX to the same value\n "
162- unless $ENV {' ES_SCRIPT_INDEX' }
163- and $args {' index' } eq $ENV {' ES_SCRIPT_INDEX' };
168+ unless $ENV {ES_SCRIPT_INDEX }
169+ and $args {index } eq $ENV {ES_SCRIPT_INDEX };
164170 }
165171
166172 return \%args ;
@@ -183,11 +189,7 @@ sub handle_error {
183189sub print_error {
184190 my ( $self , $error ) = @_ ;
185191
186- # Always log.
187192 log_error {$error };
188-
189- # Display Error in red
190- print colored( [' bold red' ], " *** ERROR ***: $error " ), " \n " ;
191193}
192194
193195sub index {
@@ -265,10 +267,7 @@ sub remote {
265267sub run { }
266268before run => sub {
267269 my $self = shift ;
268-
269270 $self -> set_logger_once;
270-
271- # Dlog_debug {"Connected to $_"} $self->remote;
272271};
273272
274273sub _get_indices_info {
@@ -410,7 +409,7 @@ sub are_you_sure {
410409 }
411410 }
412411 else {
413- print colored( [ ' bold yellow ' ], " *** Warning ***: $msg " ) . " \n " ;
412+ log_info { " *** Warning ***: $msg " } ;
414413 $iconfirmed = 1;
415414 }
416415
0 commit comments