Sha256: 61cee792dc7c75890f1beac377a2049e3eb39774ff8ae06d0a73a311c2bf012f

Contents?: true

Size: 794 Bytes

Versions: 5

Compression:

Stored size: 794 Bytes

Contents

package URI::IRI;

# Experimental

use strict;
use warnings;
use URI ();

use overload '""' => sub { shift->as_string };

our $VERSION = '5.17';

sub new {
    my($class, $uri, $scheme) = @_;
    utf8::upgrade($uri);
    return bless {
	uri => URI->new($uri, $scheme),
    }, $class;
}

sub clone {
    my $self = shift;
    return bless {
	uri => $self->{uri}->clone,
    }, ref($self);
}

sub as_string {
    my $self = shift;
    return $self->{uri}->as_iri;
}

our $AUTOLOAD;
sub AUTOLOAD
{
    my $method = substr($AUTOLOAD, rindex($AUTOLOAD, '::')+2);

    # We create the function here so that it will not need to be
    # autoloaded the next time.
    no strict 'refs';
    *$method = sub { shift->{uri}->$method(@_) };
    goto &$method;
}

sub DESTROY {}   # avoid AUTOLOADing it

1;

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
javonet-ruby-sdk-2.1.1 lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/URI/IRI.pm
javonet-ruby-sdk-2.1.0 lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/URI/IRI.pm
javonet-ruby-sdk-2.0.4 lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/URI/IRI.pm
javonet-ruby-sdk-2.0.1 lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/URI/IRI.pm
javonet-ruby-sdk-2.0.0 lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/URI/IRI.pm