Ado

 view release on metacpan or  search on metacpan

lib/Ado/Build.pm  view on Meta::CPAN


sub _process_custom_files {
    my ($self, $etc_dir, $log_dir) = @_;

    #make some files writable and/or readable only by the user that runs the application
    my $ro = oct('0400');
    my $rw = oct('0600');
    for my $asset (
        qw(ado.conf plugins/routes.conf plugins/auth.conf plugins/markdown_renderer.conf))
    {
        _chmod($ro, catfile($etc_dir, $asset));
    }
    _chmod($rw, catfile($etc_dir, 'ado.sqlite'));

    #Make sure *log files are existing and empty
    _empty_log_files($log_dir);
    for my $asset (qw(development production)) {
        _chmod($rw, catfile($log_dir, "$asset.log"));
    }
    return;
}

sub _chmod {
    my ($mode, $file) = @_;
    return chmod($mode, $file)
      || Carp::carp("Could not change mode for $file: $!");
}

sub ACTION_perltidy {
    my $self = shift;
    eval { require Perl::Tidy } || do {
        $self->log_warn(
            "Perl::Tidy is not installed$/" . "Please install it and rerun ./Build perltidy$/");
        return;
    };

lib/Ado/Sessions/File.pm  view on Meta::CPAN

    return $self->prepare_load($c, $session);
}

sub store {
    my ($self, $c) = @_;

    my ($id, $session) = $self->prepare_store($c);
    my $value = b64_encode(Mojo::JSON::encode_json($session), '');
    my $file = $self->absfile($id);
    path($file)->spurt($value);
    chmod(oct('0600'), $file);
    return;
}

# TODO
sub cleanup {

    # go to session dir
    # find all ado.* files
    # filter against file age where is older than session timeout
    # unlink all old files

t/ado-build.t  view on Meta::CPAN

$build->install_base($tempdir);
$build->create_build_script();

stdout_like(
    sub { $build->dispatch('fakeinstall') },
    qr{Installing $tempdir},
    "fakeinstall in $tempdir ok"
);

stderr_like(
    sub { Ado::Build::_chmod('0600', catfile($tempdir, 'log', 'development.log')) },
    qr{Could not change mode for},
    'chmod development.log to 0600 ok'
);

stdout_like(
    sub { $build->dispatch('install') },
    qr{Installing $tempdir},
    "install in $tempdir ok"
);

stdout_like(
    sub { $build->dispatch('fakeuninstall') },



( run in 0.267 second using v1.01-cache-2.11-cpan-496ff517765 )