Add headers to Lmo and WebAPI modules, and put the modules in pt-agent.

This commit is contained in:
Daniel Nichter
2012-12-24 18:20:25 -07:00
parent 0083216a6c
commit d035125729
16 changed files with 1779 additions and 93 deletions

View File

@@ -1,24 +1,42 @@
use strict;
use warnings qw( FATAL all );
use Carp ();
use Scalar::Util qw(looks_like_number blessed);
# This program is copyright 2012-2013 Percona Inc.
# Feedback and improvements are welcome.
#
# THIS PROGRAM IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
# MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation, version 2; OR the Perl Artistic License. On UNIX and similar
# systems, you can issue `man perlgpl' or `man perlartistic' to read these
# licenses.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA.
# ###########################################################################
# Lmo::Meta package
# ###########################################################################
{
package Lmo::Meta;
my %metadata_for;
# Package: Lmo::Meta
# Meta data implementation for Lmo. Forked from 0.30 of Mo.
package Lmo::Meta;
sub new {
shift;
return Lmo::Meta::Class->new(@_);
}
sub metadata_for {
my $self = shift;
my ($class) = @_;
use strict;
use warnings FATAL => 'all';
return $metadata_for{$class} ||= {};
}
my %metadata_for;
sub new {
shift;
return Lmo::Meta::Class->new(@_);
}
sub metadata_for {
my $self = shift;
my ($class) = @_;
return $metadata_for{$class} ||= {};
}
{
@@ -55,3 +73,7 @@ use Scalar::Util qw(looks_like_number blessed);
}
1;
}
# ###########################################################################
# End Lmo::Meta package
# ###########################################################################

View File

@@ -1,4 +1,24 @@
# Mo::Object is the parent of every Mo-derived object. Here's where new
# This program is copyright 2012-2013 Percona Inc.
# Feedback and improvements are welcome.
#
# THIS PROGRAM IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
# MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation, version 2; OR the Perl Artistic License. On UNIX and similar
# systems, you can issue `man perlgpl' or `man perlartistic' to read these
# licenses.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA.
# ###########################################################################
# Lmo::Object package
# ###########################################################################
{
# Lmo::Object is the parent of every Mo-derived object. Here's where new
# and BUILDARGS gets inherited from.
package Lmo::Object;
@@ -6,9 +26,11 @@ use strict;
use warnings qw( FATAL all );
use Carp ();
use Scalar::Util qw(looks_like_number blessed);
use Scalar::Util qw(blessed);
use Lmo::Meta;
eval {
require Lmo::Meta;
};
{
# Gets the glob from a given string.
@@ -100,5 +122,8 @@ sub meta {
return Lmo::Meta->new(class => $class);
}
1;
}
# ###########################################################################
# End Lmo::Object package
# ###########################################################################

View File

@@ -1,3 +1,26 @@
# This program is copyright 2012-2013 Percona Inc.
# Feedback and improvements are welcome.
#
# THIS PROGRAM IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
# MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation, version 2; OR the Perl Artistic License. On UNIX and similar
# systems, you can issue `man perlgpl' or `man perlartistic' to read these
# licenses.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA.
# ###########################################################################
# Lmo::Types package
# ###########################################################################
{
# Package: Lmo::Types
# Basic types for isa. If you want a new type, either add it here,
# or give isa a coderef.
package Lmo::Types;
use strict;
@@ -6,9 +29,6 @@ use warnings qw( FATAL all );
use Carp ();
use Scalar::Util qw(looks_like_number blessed);
# Basic types for isa. If you want a new type, either add it here,
# or give isa a coderef.
our %TYPES = (
Bool => sub { !$_[0] || (defined $_[0] && looks_like_number($_[0]) && $_[0] == 1) },
Num => sub { defined $_[0] && looks_like_number($_[0]) },
@@ -96,3 +116,7 @@ sub _nested_constraints {
}
1;
}
# ###########################################################################
# End Lmo::Types package
# ###########################################################################