sub new()

in lib/ES/Source.pm [12:34]


sub new {
#===================================
    my $class = shift;
    my %args  = @_;

    my @sources;
    for ( @{ $args{sources} } ) {
        my $repo   = ES::Repo->get_repo( $_->{repo} );
        my $prefix = defined $_->{prefix} ? $_->{prefix} : $repo->name;
        my $path   = dir('.')->subdir( $_->{path} )->relative('.');
        my $exclude = { map { $_ => 1 } @{ $_->{exclude_branches} || [] } };
        my $map_branches = $_->{map_branches} || {};
        my $private = $_->{private} || 0;
        my $alternatives = $_->{alternatives} || 0;
        if ($alternatives) {
            die 'source_lang is required' unless $alternatives->{source_lang};
            die 'alternative_lang is required' unless $alternatives->{alternative_lang};
        }
        $repo->add_source( \@sources, $prefix, $path, $exclude, $map_branches, $private, $alternatives );
    }

    bless { sources => \@sources, temp_dir => $args{temp_dir} }, $class;
}