Bot-IRC
view release on metacpan or search on metacpan
lib/Bot/IRC.pm view on Meta::CPAN
577578579580581582583584585586587588589590591592593594595596597}
sub
register {
my
$self
=
shift
;
$self
->{loaded}{
$_
} =
time
for
(
@_
);
return
$self
;
}
sub
vars {
my
(
$self
,
$name
) =
@_
;
(
$name
=
lc
(
substr
( (
caller
() )[0],
length
(__PACKAGE__) + 2 ) ) ) =~ s/::/\-/g
unless
(
$name
);
return
(
defined
$self
->{vars}{
$name
} ) ?
$self
->{vars}{
$name
} : {};
}
sub
settings {
my
(
$self
,
$name
) =
@_
;
return
(
defined
$name
) ?
$self
->{
$name
} : {
%$self
};
}
sub
reply {
my
(
$self
,
$message
) =
@_
;
lib/Bot/IRC/Store.pm view on Meta::CPAN
29303132333435363738394041424344454647484950515253545556
LoadFile(
$self
->{file} );
}
};
die
qq{Unable to use "$self->{file}
"
for
YAML storage in the Bot::IRC::Store plugin\n}
if
($@);
return
$self
;
}
sub
get {
my
(
$self
,
$key
) =
@_
;
return
LoadFile(
$self
->{file} )->{ (
caller
() )[0] }{
$key
};
}
sub
set {
my
(
$self
,
$key
,
$value
) =
@_
;
my
$data
= LoadFile(
$self
->{file} );
$data
->{ (
caller
() )[0] }{
$key
} =
$value
;
DumpFile(
$self
->{file},
$data
);
return
$self
;
}
1;
__END__
=pod
lib/Bot/IRC/Store/SQLite.pm view on Meta::CPAN
363738394041424344454647484950515253545556
)
})
unless
(
$pre_exists
);
$self
->{json} = JSON::XS->new->ascii;
return
$self
;
}
sub
get {
my
(
$self
,
$key
) =
@_
;
my
$namespace
= (
caller
() )[0];
my
$value
;
try
{
my
$sth
=
$self
->{dbh}->prepare_cached(
q{
SELECT value FROM bot_store WHERE namespace = ? AND key = ?
}
);
$sth
->execute(
$namespace
,
$key
) or
die
$self
->{dbh}->errstr;
$value
=
$sth
->fetchrow_array;
$sth
->finish;
}
lib/Bot/IRC/Store/SQLite.pm view on Meta::CPAN
616263646566676869707172737475767778798081
if
(
$value
) {
$value
=
$self
->{json}->decode(
$value
) ||
undef
;
$value
=
$value
->{value}
if
(
ref
$value
eq
'HASH'
and
exists
$value
->{value} );
}
return
$value
;
}
sub
set {
my
(
$self
,
$key
,
$value
) =
@_
;
my
$namespace
= (
caller
() )[0];
try
{
$self
->{dbh}->prepare_cached(
q{
DELETE FROM bot_store WHERE namespace = ? AND key = ?
}
)->execute(
$namespace
,
$key
) or
die
$self
->{dbh}->errstr;
$self
->{dbh}->prepare_cached(
q{
INSERT INTO bot_store ( namespace, key, value ) VALUES ( ?, ?, ? )
}
)->execute(
$namespace
,
( run in 0.258 second using v1.01-cache-2.11-cpan-0f795438458 )