Initial Commit
This commit is contained in:
19
database/perl/vendor/lib/Parse/Method/Signatures/Param/Bindable.pm
vendored
Normal file
19
database/perl/vendor/lib/Parse/Method/Signatures/Param/Bindable.pm
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
package Parse::Method::Signatures::Param::Bindable;
|
||||
|
||||
use Moose::Role;
|
||||
use Parse::Method::Signatures::Types qw/VariableName/;
|
||||
|
||||
use namespace::clean -except => 'meta';
|
||||
|
||||
has variable_name => (
|
||||
is => 'ro',
|
||||
isa => VariableName,
|
||||
required => 1,
|
||||
);
|
||||
|
||||
sub _stringify_variable_name {
|
||||
my ($self) = @_;
|
||||
return $self->variable_name;
|
||||
}
|
||||
|
||||
1;
|
||||
48
database/perl/vendor/lib/Parse/Method/Signatures/Param/Named.pm
vendored
Normal file
48
database/perl/vendor/lib/Parse/Method/Signatures/Param/Named.pm
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
package Parse::Method::Signatures::Param::Named;
|
||||
|
||||
use Moose::Role;
|
||||
use MooseX::Types::Moose qw/Str/;
|
||||
|
||||
use namespace::clean -except => 'meta';
|
||||
|
||||
has label => (
|
||||
is => 'ro',
|
||||
isa => Str,
|
||||
lazy_build => 1,
|
||||
);
|
||||
|
||||
sub _label_from_variable_name {
|
||||
my ($self) = @_;
|
||||
# strip sigil
|
||||
return substr($self->variable_name, 1);
|
||||
}
|
||||
|
||||
sub _build_label {
|
||||
my ($self) = @_;
|
||||
return $self->_label_from_variable_name;
|
||||
}
|
||||
|
||||
sub _stringify_required {
|
||||
my ($self) = @_;
|
||||
return $self->required ? q{!} : q{};
|
||||
}
|
||||
|
||||
around _stringify_variable_name => sub {
|
||||
my $orig = shift;
|
||||
my ($self) = @_;
|
||||
my $ret = q{:};
|
||||
my ($before, $after) = (q{}) x 2;
|
||||
|
||||
my $implicit_label = $self->_label_from_variable_name if $self->can('variable_name');
|
||||
|
||||
if (!$implicit_label || $self->label ne $implicit_label) {
|
||||
$before = $self->label . q{(};
|
||||
$after = q{)};
|
||||
}
|
||||
|
||||
$ret .= $before . $orig->(@_) . $after;
|
||||
|
||||
return $ret;
|
||||
};
|
||||
|
||||
1;
|
||||
11
database/perl/vendor/lib/Parse/Method/Signatures/Param/Placeholder.pm
vendored
Normal file
11
database/perl/vendor/lib/Parse/Method/Signatures/Param/Placeholder.pm
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
package Parse::Method::Signatures::Param::Placeholder;
|
||||
|
||||
use Moose::Role;
|
||||
use namespace::clean -except => 'meta';
|
||||
|
||||
sub _stringify_variable_name {
|
||||
my ($self) = @_;
|
||||
return $self->sigil;
|
||||
}
|
||||
|
||||
1;
|
||||
11
database/perl/vendor/lib/Parse/Method/Signatures/Param/Positional.pm
vendored
Normal file
11
database/perl/vendor/lib/Parse/Method/Signatures/Param/Positional.pm
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
package Parse::Method::Signatures::Param::Positional;
|
||||
|
||||
use Moose::Role;
|
||||
use namespace::clean -except => 'meta';
|
||||
|
||||
sub _stringify_required {
|
||||
my ($self) = @_;
|
||||
return $self->required ? q{} : q{?};
|
||||
}
|
||||
|
||||
1;
|
||||
19
database/perl/vendor/lib/Parse/Method/Signatures/Param/Unpacked.pm
vendored
Normal file
19
database/perl/vendor/lib/Parse/Method/Signatures/Param/Unpacked.pm
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
package Parse::Method::Signatures::Param::Unpacked;
|
||||
|
||||
use Moose::Role;
|
||||
use Parse::Method::Signatures::Types qw/ParamCollection/;
|
||||
|
||||
use namespace::clean -except => 'meta';
|
||||
|
||||
has _params => (
|
||||
is => 'ro',
|
||||
isa => ParamCollection,
|
||||
init_arg => 'params',
|
||||
predicate => 'has_params',
|
||||
coerce => 1,
|
||||
handles => {
|
||||
params => 'params',
|
||||
},
|
||||
);
|
||||
|
||||
1;
|
||||
13
database/perl/vendor/lib/Parse/Method/Signatures/Param/Unpacked/Array.pm
vendored
Normal file
13
database/perl/vendor/lib/Parse/Method/Signatures/Param/Unpacked/Array.pm
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
package Parse::Method::Signatures::Param::Unpacked::Array;
|
||||
|
||||
use Moose::Role;
|
||||
use namespace::clean -except => 'meta';
|
||||
|
||||
with 'Parse::Method::Signatures::Param::Unpacked';
|
||||
|
||||
sub _stringify_variable_name {
|
||||
my ($self) = @_;
|
||||
return '[' . $self->_params->to_string . ']';
|
||||
}
|
||||
|
||||
1;
|
||||
13
database/perl/vendor/lib/Parse/Method/Signatures/Param/Unpacked/Hash.pm
vendored
Normal file
13
database/perl/vendor/lib/Parse/Method/Signatures/Param/Unpacked/Hash.pm
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
package Parse::Method::Signatures::Param::Unpacked::Hash;
|
||||
|
||||
use Moose::Role;
|
||||
use namespace::clean -except => 'meta';
|
||||
|
||||
with 'Parse::Method::Signatures::Param::Unpacked';
|
||||
|
||||
sub _stringify_variable_name {
|
||||
my ($self) = @_;
|
||||
return '{' . $self->_params->to_string . '}';
|
||||
}
|
||||
|
||||
1;
|
||||
Reference in New Issue
Block a user