App-lcpan-CmdBundle-gh
view release on metacpan or search on metacpan
lib/App/lcpan/Cmd/gh_clone.pm view on Meta::CPAN
if (($file_id) = $dbh->selectrow_array(
"SELECT id FROM file WHERE dist_name=? AND is_latest_dist", {}, $args{module_or_dist})) {
$dist = $args{module_or_dist};
last;
}
# try mod
if (($file_id, $dist) = $dbh->selectrow_array("SELECT m.file_id, f.dist_name FROM module m JOIN file f ON m.file_id=f.id WHERE m.name=?", {}, $args{module_or_dist})) {
last;
}
}
$file_id or return [404, "No such module/dist '$args{module_or_dist}'"];
my $res = App::lcpan::Cmd::dist_meta::handle_cmd(%args, dist=>$dist);
return [412, $res->[1]] unless $res->[0] == 200;
my $meta = $res->[2];
unless ($meta->{resources} && $meta->{resources}{repository} && $meta->{resources}{repository}{type} eq 'git') {
return [412, "No git repository specified in the distmeta's resources"];
}
my $url = $meta->{resources}{repository}{url};
unless ($url =~ m!^https?://github\.com!i) {
lib/App/lcpan/Cmd/gh_open.pm view on Meta::CPAN
if (($file_id) = $dbh->selectrow_array(
"SELECT id FROM file WHERE dist_name=? AND is_latest_dist", {}, $args{module_or_dist})) {
$dist = $args{module_or_dist};
last;
}
# try mod
if (($file_id, $dist) = $dbh->selectrow_array("SELECT m.file_id, f.dist_name FROM module m JOIN file f ON m.file_id=f.id WHERE m.name=?", {}, $args{module_or_dist})) {
last;
}
}
$file_id or return [404, "No such module/dist '$args{module_or_dist}'"];
my $res = App::lcpan::Cmd::dist_meta::handle_cmd(%args, dist=>$dist);
return [412, $res->[1]] unless $res->[0] == 200;
my $meta = $res->[2];
unless ($meta->{resources} && $meta->{resources}{repository} && $meta->{resources}{repository}{type} eq 'git') {
return [412, "No git repository specified in the distmeta's resources"];
}
my $url = $meta->{resources}{repository}{web};
unless ($url =~ m!^https?://github\.com!i) {
( run in 1.860 second using v1.01-cache-2.11-cpan-39bf76dae61 )