App-MonM

 view release on metacpan or  search on metacpan

lib/App/MonM/Store.pm  view on Meta::CPAN

package App::MonM::Store; # $Id: Store.pm 108 2022-08-24 14:30:32Z abalama $
use strict;
use utf8;

=encoding utf8

=head1 NAME

App::MonM::Store - DBI interface for checkit's data storing

=head1 VERSION

Version 1.01

=head1 SYNOPSIS

    use App::MonM::Store;

    my $store = App::MonM::Store->new(
        dsn => "DBI:mysql:database=monm;host=mysql.example.com",
        user => "username",
        password => "password",
        set => [
            "RaiseError        0",
            "PrintError        0",
            "mysql_enable_utf8 1",
        ],
    );
    die($store->error) if $store->error;

=head1 DESCRIPTION

DBI interface for checkit's data storing. This module provides store methods

=head2 new

    my $store = App::MonM::Store->new(
        dsn => "DBI:mysql:database=monm;host=mysql.example.com",
        user => "username",
        password => "password",
        set => [
            "RaiseError        0",
            "PrintError        0",
            "mysql_enable_utf8 1",
        ],
    );

Creates DBI object

=head2 add

    $store->add(
        name    => "foo",
        type    => "http",
        source  => "http://example.com",
        status  => 1,
        message => "Ok"
    ) or die $store->error;

Add new record on database

=head2 clean

    $store->clean(
        period => 600
    ) or die $store->error;

Delete too old records from database

=head2 del

    $store->del(
        id => 1
    ) or die $store->error;

Delete record from database

=head2 dsn

    my $dsn = $store->dsn;

Returns DSN string of current database connection

=head2 error

    my $error = $store->error;

Returns error message

    $store->error("Error message");

Sets error message if argument is provided.

=head2 get

    my %info = $store->get(
        name    => "foo"
    );

Gets information about file from database

Format:

    {



( run in 3.144 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )