Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mojo::base(3pm) [debian man page]

Mojo::Base(3pm) 					User Contributed Perl Documentation					   Mojo::Base(3pm)

NAME
Mojo::Base - Minimal base class for Mojo projects SYNOPSIS
package Cat; use Mojo::Base -base; has 'mouse'; has paws => 4; has [qw(ears eyes)] => 2; package Tiger; use Mojo::Base 'Cat'; has stripes => 42; package main; use Mojo::Base -strict; my $mew = Cat->new(mouse => 'Mickey'); say $mew->paws; say $mew->paws(5)->ears(4)->paws; my $rawr = Tiger->new(stripes => 23); say $rawr->ears * $rawr->stripes; DESCRIPTION
Mojo::Base is a simple base class for Mojo projects. # Automatically enables "strict", "warnings" and Perl 5.10 features use Mojo::Base -strict; use Mojo::Base -base; use Mojo::Base 'SomeBaseClass'; All three forms save a lot of typing. # use Mojo::Base -strict; use strict; use warnings; use feature ':5.10'; # use Mojo::Base -base; use strict; use warnings; use feature ':5.10'; use Mojo::Base; push @ISA, 'Mojo::Base'; sub has { Mojo::Base::attr(__PACKAGE__, @_) } # use Mojo::Base 'SomeBaseClass'; use strict; use warnings; use feature ':5.10'; require SomeBaseClass; push @ISA, 'SomeBaseClass'; use Mojo::Base; sub has { Mojo::Base::attr(__PACKAGE__, @_) } FUNCTIONS
Mojo::Base exports the following functions if imported with the "-base" flag or a base class. "has" has 'name'; has [qw(name1 name2 name3)]; has name => 'foo'; has name => sub {...}; has [qw(name1 name2 name3)] => 'foo'; has [qw(name1 name2 name3)] => sub {...}; Create attributes, just like the "attr" method. METHODS
Mojo::Base implements the following methods. "new" my $object = BaseSubClass->new; my $object = BaseSubClass->new(name => 'value'); my $object = BaseSubClass->new({name => 'value'}); This base class provides a basic object constructor. You can pass it either a hash or a hash reference with attribute values. "attr" $object->attr('name'); BaseSubClass->attr('name'); BaseSubClass->attr([qw(name1 name2 name3)]); BaseSubClass->attr(name => 'foo'); BaseSubClass->attr(name => sub {...}); BaseSubClass->attr([qw(name1 name2 name3)] => 'foo'); BaseSubClass->attr([qw(name1 name2 name3)] => sub {...}); Create attributes. An array reference can be used to create more than one attribute. Pass an optional second argument to set a default value, it should be a constant or a sub reference. The sub reference will be excuted at accessor read time if there's no set value. DEBUGGING
You can set the "MOJO_BASE_DEBUG" environment variable to get some advanced diagnostics information printed to "STDERR". MOJO_BASE_DEBUG=1 SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>. perl v5.14.2 2012-09-05 Mojo::Base(3pm)

Check Out this Related Man Page

Mojo::Path(3pm) 					User Contributed Perl Documentation					   Mojo::Path(3pm)

NAME
Mojo::Path - Path SYNOPSIS
use Mojo::Path; my $path = Mojo::Path->new('/foo%2Fbar%3B/baz.html'); shift @{$path->parts}; say $path; DESCRIPTION
Mojo::Path is a container for URL paths. ATTRIBUTES
Mojo::Path implements the following attributes. "leading_slash" my $leading_slash = $path->leading_slash; $path = $path->leading_slash(1); Path has a leading slash. "parts" my $parts = $path->parts; $path = $path->parts([qw(foo bar baz)]); The path parts. # Part with slash push @{$path->parts}, 'foo/bar'; "trailing_slash" my $trailing_slash = $path->trailing_slash; $path = $path->trailing_slash(1); Path has a trailing slash. METHODS
Mojo::Path inherits all methods from Mojo::Base and implements the following new ones. "new" my $path = Mojo::Path->new; my $path = Mojo::Path->new('/foo%2Fbar%3B/baz.html'); Construct a new Mojo::Path object. "canonicalize" $path = $path->canonicalize; Canonicalize path. # "/foo/baz" Mojo::Path->new('/foo/bar/../baz')->canonicalize; "clone" my $clone = $path->clone; Clone path. "contains" my $success = $path->contains('/foo'); Check if path contains given prefix. # True Mojo::Path->new('/foo/bar')->contains('/'); Mojo::Path->new('/foo/bar')->contains('/foo'); Mojo::Path->new('/foo/bar')->contains('/foo/bar'); # False Mojo::Path->new('/foo/bar')->contains('/f'); Mojo::Path->new('/foo/bar')->contains('/bar'); Mojo::Path->new('/foo/bar')->contains('/whatever'); "merge" $path = $path->merge('/foo/bar'); $path = $path->merge('foo/bar'); $path = $path->merge(Mojo::Path->new('foo/bar')); Merge paths. # "/baz/yada" Mojo::Path->new('/foo/bar')->merge('/baz/yada'); # "/foo/baz/yada" Mojo::Path->new('/foo/bar')->merge('baz/yada'); # "/foo/bar/baz/yada" Mojo::Path->new('/foo/bar/')->merge('baz/yada'); "parse" $path = $path->parse('/foo%2Fbar%3B/baz.html'); Parse path. Note that %2F will be treated as "/" for security reasons. "to_abs_string" my $string = $path->to_abs_string; Turn path into an absolute string. "to_string" my $string = $path->to_string; Turn path into a string. SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>. perl v5.14.2 2012-09-05 Mojo::Path(3pm)
Man Page