Add PostgresVersion.pm method to emit the major version string
For versions before 10, this will produce dotted notation unless a separator argument is given, in which case it is used.
This commit is contained in:
parent
5dc932f9e7
commit
1e8d89f880
@ -32,6 +32,9 @@ PostgresVersion - class representing PostgreSQL version numbers
|
|||||||
# interpolate in a string
|
# interpolate in a string
|
||||||
my $stringyval = "version: $version";
|
my $stringyval = "version: $version";
|
||||||
|
|
||||||
|
# get the major version
|
||||||
|
my $maj = $version->major;
|
||||||
|
|
||||||
=head1 DESCRIPTION
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
PostgresVersion encapsulates Postgres version numbers, providing parsing
|
PostgresVersion encapsulates Postgres version numbers, providing parsing
|
||||||
@ -133,4 +136,29 @@ sub _stringify
|
|||||||
return $self->{str};
|
return $self->{str};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
=pod
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item major([separator => 'char'])
|
||||||
|
|
||||||
|
Returns the major version. For versions before 10 the parts are separated by
|
||||||
|
a dot unless the separator argument is given.
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
sub major
|
||||||
|
{
|
||||||
|
my ($self, %params) = @_;
|
||||||
|
my $result = $self->{num}->[0];
|
||||||
|
if ($result + 0 < 10)
|
||||||
|
{
|
||||||
|
my $sep = $params{separator} || '.';
|
||||||
|
$result .= "$sep$self->{num}->[1]";
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user