Venus::Space

Space Class

Space Class for Perl 5

method: all method: append method: array method: arrays method: attributes method: authority method: basename method: blessed method: build method: call method: chain method: child method: children method: cop method: data method: eval method: explain method: hash method: hashes method: id method: lfile method: init method: inherits method: included method: inject method: integrates method: load method: loaded method: locate method: meta method: mock method: name method: parent method: parse method: parts method: pfile method: prepend method: purge method: rebase method: reload method: require method: root method: routine method: routines method: scalar method: scalars method: sibling method: siblings method: splice method: swap method: tfile method: tryload method: use method: unload method: variables method: visible method: version

package main;

use Venus::Space;

my $space = Venus::Space->new('foo/bar');

# $space->package; # Foo::Bar

This package provides methods for parsing and manipulating package namespaces.

Venus::Name

The all method executes any available method on the instance and all instances representing packages inherited by the package represented by the invocant. This method supports dispatching, i.e. providing a method name and arguments whose return value will be acted on by this method.

all(Str $method, Any @args) (ArrayRef[Tuple[Str, Any]])

{ since => '0.01', }

=example-1 all

package main;

use Venus::Space;

my $space = Venus::Space->new('Venus');

my $all = $space->all('id');

# [["Venus", "Venus"]]

The append method modifies the object by appending to the package namespace parts.

append(Str @path) (Space)

{ since => '0.01', }

=example-1 append

# given: synopsis;

my $append = $space->append('baz');

# bless({ value => "Foo/Bar/Baz" }, "Venus::Space")

The array method gets or sets the value for the given package array variable name.

array(Str $name, Any @data) (ArrayRef)

{ since => '0.01', }

=example-1 array

# given: synopsis;

package Foo::Bar;

our @handler = 'start';

package main;

my $array = $space->array('handler');

# ["start"]

The arrays method searches the package namespace for arrays and returns their names.

arrays() (ArrayRef)

{ since => '0.01', }

=example-1 arrays

# given: synopsis;

package Foo::Bar;

our @handler = 'start';
our @initial = ('next', 'prev');

package main;

my $arrays = $space->arrays;

# ["handler", "initial"]

The attributes method searches the package namespace for attributes and returns their names. This will not include attributes from roles, mixins, or superclasses.

attributes() (ArrayRef)

{ since => '1.02', }

=example-1 attributes

package Foo::Attrs;

use Venus::Class 'attr';

attr 'start';
attr 'abort';

package main;

use Venus::Space;

my $space = Venus::Space->new('foo/attrs');

my $attributes = $space->attributes;

# ["start", "abort"]

The authority method returns the AUTHORITY declared on the target package, if any.

authority() (Maybe[Str])

{ since => '0.01', }

=example-1 authority

package Foo::Boo;

package main;

use Venus::Space;

my $space = Venus::Space->new('foo/boo');

my $authority = $space->authority;

# undef

The basename method returns the last segment of the package namespace parts.

basename() (Str)

{ since => '0.01', }

=example-1 basename

# given: synopsis;

my $basename = $space->basename;

# "Bar"

The blessed method blesses the given value into the package namespace and returns an object. If no value is given, an empty hashref is used.

blessed(Ref $data) (Self)

{ since => '0.01', }

=example-1 blessed

# given: synopsis;

package Foo::Bar;

sub import;

package main;

my $blessed = $space->blessed;

# bless({}, "Foo::Bar")

The build method attempts to call new on the package namespace and if successful returns the resulting object.

build(Any @args) (Self)

{ since => '0.01', }

=example-1 build

# given: synopsis;

package Foo::Bar::Baz;

sub new {
  bless {}, $_[0];
}

package main;

my $build = $space->child('baz')->build;

# bless({}, "Foo::Bar::Baz")

The call method attempts to call the given subroutine on the package namespace and if successful returns the resulting value.

call(Any @args) (Any)

{ since => '0.01', }

=example-1 call

package Foo;

sub import;

sub start {
  'started'
}

package main;

use Venus::Space;

my $space = Venus::Space->new('foo');

my $result = $space->call('start');

# "started"

The chain method chains one or more method calls and returns the result.

chain(Str | Tuple[Str, Any] @steps) (Any)

{ since => '0.01', }

=example-1 chain

package Chu::Chu0;

sub import;

package main;

use Venus::Space;

my $space = Venus::Space->new('Chu::Chu0');

my $result = $space->chain('blessed');

# bless({}, "Chu::Chu0")

The child method returns a new Venus::Space object for the child package namespace.

child(Str @path) (Space)

{ since => '0.01', }

=example-1 child

# given: synopsis;

my $child = $space->child('baz');

# bless({ value => "Foo/Bar/Baz" }, "Venus::Space")

The children method searches %INC and @INC and retuns a list of Venus::Space objects for each child namespace found (one level deep).

children() (ArrayRef[Object])

{ since => '0.01', }

=example-1 children

package main;

use Venus::Space;

my $space = Venus::Space->new('c_p_a_n');

my $children = $space->children;

# [
#   bless({ value => "CPAN/Author" }, "Venus::Space"),
#   bless({ value => "CPAN/Bundle" }, "Venus::Space"),
#   bless({ value => "CPAN/CacheMgr" }, "Venus::Space"),
#   ...
# ]

The cop method attempts to curry the given subroutine on the package namespace and if successful returns a closure. This method supports dispatching, i.e. providing a method name and arguments whose return value will be acted on by this method.

cop(Str $method, Any @args) (CodeRef)

{ since => '0.01', }

=example-1 cop

package Foo::Bar;

sub import;

sub handler {
  [@_]
}

package main;

use Venus::Space;

my $space = Venus::Space->new('foo/bar');

my $code = $space->cop('handler', $space->blessed);

# sub { Foo::Bar::handler(..., @_) }

The data method attempts to read and return any content stored in the DATA section of the package namespace.

data() (Str)

{ since => '0.01', }

=example-1 data

# given: synopsis;

my $data = $space->data;

# ""

The eval method takes a list of strings and evaluates them under the namespace represented by the instance.

eval(Str @data) (Any)

{ since => '0.01', }

=example-1 eval

package main;

use Venus::Space;

my $space = Venus::Space->new('foo');

my $eval = $space->eval('our $VERSION = 0.01');

# 0.01

The explain method returns the package name and is used in stringification operations.

explain() (Str)

{ since => '0.01', }

=example-1 explain

# given: synopsis;

my $explain = $space->explain;

# "Foo::Bar"

The hash method gets or sets the value for the given package hash variable name.

hash(Str $name, Any @data) (HashRef)

{ since => '0.01', }

=example-1 hash

# given: synopsis;

package Foo::Bar;

our %settings = (
  active => 1
);

package main;

my $hash = $space->hash('settings');

# { active => 1 }

The hashes method searches the package namespace for hashes and returns their names.

hashes() (ArrayRef)

{ since => '0.01', }

=example-1 hashes

# given: synopsis;

package Foo::Bar;

our %defaults = (
  active => 0
);

our %settings = (
  active => 1
);

package main;

my $hashes = $space->hashes;

# ["defaults", "settings"]

The id method returns the fully-qualified package name as a label.

id() (Str)

{ since => '0.01', }

=example-1 id

# given: synopsis;

my $id = $space->id;

# "Foo_Bar"

The lfile method returns a .pm file path for the underlying package.

lfile() (Str)

{ since => '1.30', }

=example-1 lfile

# given: synopsis

package main;

my $lfile = $space->lfile;

# "Foo/Bar.pm"

The init method ensures that the package namespace is loaded and, whether created in-memory or on-disk, is flagged as being loaded and loadable.

init() (Str)

{ since => '0.01', }

=example-1 init

package main;

use Venus::Space;

my $space = Venus::Space->new('kit');

my $init = $space->init;

# "Kit"

The inherits method returns the list of superclasses the target package is derived from.

inherits() (ArrayRef)

{ since => '0.01', }

=example-1 inherits

package Bar;

package main;

use Venus::Space;

my $space = Venus::Space->new('bar');

my $inherits = $space->inherits;

# []

The included method returns the path of the namespace if it exists in %INC.

included() (Str | Undef)

{ since => '0.01', }

=example-1 included

package main;

use Venus::Space;

my $space = Venus::Space->new('Venus/Space');

my $included = $space->included;

# "/path/to/lib/Venus/Space.pm"

The inject method monkey-patches the package namespace, installing a named subroutine into the package which can then be called normally, returning the fully-qualified subroutine name.

inject(Str $name, Maybe[CodeRef] $coderef) (Any)

{ since => '0.01', }

=example-1 inject

package main;

use Venus::Space;

my $space = Venus::Space->new('kit');

my $inject = $space->inject('build', sub { 'finished' });

# *Kit::build

The integrates method returns the list of roles integrated into the target package.

integrates() (ArrayRef)

{ since => '1.30', }

=example-1 integrates

# given: synopsis

package main;

my $integrates = $space->integrates;

# []

The load method checks whether the package namespace is already loaded and if not attempts to load the package. If the package is not loaded and is not loadable, this method will throw an exception using confess. If the package is loadable, this method returns truthy with the package name. As a workaround for packages that only exist in-memory, if the package contains a new, with, meta, or import routine it will be recognized as having been loaded.

load() (Str)

{ since => '0.01', }

=example-1 load

package main;

use Venus::Space;

my $space = Venus::Space->new('c_p_a_n');

my $load = $space->load;

# "CPAN"

The loaded method checks whether the package namespace is already loaded and returns truthy or falsy.

loaded() (Bool)

{ since => '0.01', }

=example-1 loaded

package main;

use Venus::Space;

my $space = Venus::Space->new('Kit');

$space->init;

$space->unload;

my $loaded = $space->loaded;

# 0

The locate method checks whether the package namespace is available in @INC, i.e. on disk. This method returns the file if found or an empty string.

locate() (Str)

{ since => '0.01', }

=example-1 locate

package main;

use Venus::Space;

my $space = Venus::Space->new('xyz');

my $locate = $space->locate;

# ""

The meta method returns a Venus::Meta object representing the underlying package namespace. To access the meta object for the instance itself, use the superclass' "META" in Venus::Core method.

meta() (Meta)

{ since => '1.02', }

=example-1 meta

# given: synopsis

package main;

my $meta = $space->meta;

# bless({'name' => 'Foo::Bar'}, 'Venus::Meta')

The mock method returns a Venus::Space object representing an anonymous package that derives from the invoking package.

mock() (Space)

{ since => '1.50', }

=example-1 mock

# given: synopsis

package main;

my $mock = $space->mock;

# bless({'name' => 'Venus::Space::Mock::0001::Foo::Bar'}, 'Venus::Space')

# $mock->isa('Foo::Bar') # true

The name method returns the fully-qualified package name.

name() (Str)

{ since => '0.01', }

=example-1 name

# given: synopsis;

my $name = $space->name;

# "Foo::Bar"

The parent method returns a new Venus::Space object for the parent package namespace.

parent() (Space)

{ since => '0.01', }

=example-1 parent

# given: synopsis;

my $parent = $space->parent;

# bless({ value => "Foo" }, "Venus::Space")

The parse method parses the string argument and returns an arrayref of package namespace segments (parts).

parse() (ArrayRef)

{ since => '0.01', }

=example-1 parse

# given: synopsis;

my $parse = $space->parse;

# ["Foo", "Bar"]

The parts method returns an arrayref of package namespace segments (parts).

parts() (ArrayRef)

{ since => '0.01', }

=example-1 parts

package main;

use Venus::Space;

my $space = Venus::Space->new('Foo');

my $parts = $space->parts;

# ["Foo"]

The pfile method returns a .pod file path for the underlying package.

pfile() (Str)

{ since => '1.30', }

=example-1 pfile

# given: synopsis

package main;

my $pfile = $space->pfile;

# "Foo/Bar.pod"

The prepend method modifies the object by prepending to the package namespace parts.

prepend(Str @path) (Space)

{ since => '0.01', }

=example-1 prepend

# given: synopsis;

my $prepend = $space->prepend('etc');

# bless({ value => "Etc/Foo/Bar" }, "Venus::Space")

The purge method purges a package space by expunging its symbol table and removing it from %INC.

purge() (Self)

{ since => '1.02', }

=example-1 purge

package main;

use Venus::Space;

# Bar::Gen is generated with $VERSION as 0.01

my $space = Venus::Space->new('Bar/Gen');

$space->load;

my $purge = $space->purge;

# bless({ value => "Bar::Gen" }, "Venus::Space")

# Bar::Gen->VERSION was 0.01, now undef

# Symbol table is gone, $space->visible is 0

The rebase method returns an object by prepending the package namespace specified to the base of the current object's namespace.

rebase(Str @path) (Space)

{ since => '0.01', }

=example-1 rebase

# given: synopsis;

my $rebase = $space->rebase('zoo');

# bless({ value => "Zoo/Bar" }, "Venus::Space")

The reload method attempts to delete and reload the package namespace using the "load" method. Note: Reloading is additive and will overwrite existing symbols but does not remove symbols.

reload() (Str)

{ since => '0.01', }

=example-1 reload

package main;

use Venus::Space;

# Foo::Gen is generated with $VERSION as 0.01

my $space = Venus::Space->new('Foo/Gen');

my $reload = $space->reload;

# Foo::Gen
# Foo::Gen->VERSION is 0.01

The require method executes a require statement within the package namespace specified.

require(Str $target) (Any)

{ since => '0.01', }

=example-1 require

# given: synopsis;

my $require = $space->require('Venus');

# 1

The root method returns the root package namespace segments (parts). Sometimes separating the root from the parts helps identify how subsequent child objects were derived.

root() (Str)

{ since => '0.01', }

=example-1 root

# given: synopsis;

my $root = $space->root;

# "Foo"

The routine method gets or sets the subroutine reference for the given subroutine name.

routine(Str $name, CodeRef $code) (CodeRef)

{ since => '0.01', }

=example-1 routine

package Foo;

sub cont {
  [@_]
}

sub abort {
  [@_]
}

package main;

use Venus::Space;

my $space = Venus::Space->new('foo');

my $routine = $space->routine('cont');

# sub { ... }

The routines method searches the package namespace for routines and returns their names.

routines() (ArrayRef)

{ since => '0.01', }

=example-1 routines

package Foo::Subs;

sub start {
  1
}

sub abort {
  1
}

package main;

use Venus::Space;

my $space = Venus::Space->new('foo/subs');

my $routines = $space->routines;

# ["abort", "start"]

The scalar method gets or sets the value for the given package scalar variable name.

scalar(Str $name, Any @data) (Any)

{ since => '0.01', }

=example-1 scalar

# given: synopsis;

package Foo::Bar;

our $root = '/path/to/file';

package main;

my $scalar = $space->scalar('root');

# "/path/to/file"

The scalars method searches the package namespace for scalars and returns their names.

scalars() (ArrayRef)

{ since => '0.01', }

=example-1 scalars

# given: synopsis;

package Foo::Bar;

our $root = 'root';
our $base = 'path/to';
our $file = 'file';

package main;

my $scalars = $space->scalars;

# ["base", "file", "root"]

The sibling method returns a new Venus::Space object for the sibling package namespace.

sibling(Str $path) (Space)

{ since => '0.01', }

=example-1 sibling

# given: synopsis;

my $sibling = $space->sibling('baz');

# bless({ value => "Foo/Baz" }, "Venus::Space")

The siblings method searches %INC and @INC and retuns a list of Venus::Space objects for each sibling namespace found (one level deep).

siblings() (ArrayRef[Object])

{ since => '0.01', }

=example-1 siblings

package main;

use Venus::Space;

my $space = Venus::Space->new('encode/m_i_m_e');

my $siblings = $space->siblings;

# [
#   bless({ value => "Encode/MIME/Header" }, "Venus::Space"),
#   bless({ value => "Encode/MIME/Name" }, "Venus::Space"),
#   ...
# ]

The splice method perform a Perl "splice" in perlfunc operation on the package namespace.

splice(Int $offset, Int $length, Any @list) (Space)

{ since => '0.09', }

=example-1 splice

package main;

use Venus::Space;

my $space = Venus::Space->new('foo/baz');

my $splice = $space->splice(1, 0, 'bar');

# bless({ value => "Foo/Bar/Baz" }, "Venus::Space")

The swap method overwrites the named subroutine in the underlying package with the code reference provided and returns the original subroutine as a code reference. The code provided will be passed a reference to the original subroutine as its first argument.

swap(Str $name, CodeRef $code) (CodeRef)

{ since => '1.95', }

=example-1 swap

package Foo::Swap;

use Venus::Class;

package main;

use Venus::Space;

my $space = Venus::Space->new('foo/swap');

my $subroutine = $space->swap('new', sub {
  my ($next, @args) = @_;
  my $self = $next->(@args);
  $self->{swapped} = 1;
  return $self;
});

# sub { ... }

The tfile method returns a .t file path for the underlying package.

tfile() (Str)

{ since => '1.30', }

=example-1 tfile

# given: synopsis

package main;

my $tfile = $space->tfile;

# "Foo_Bar.t"

The tryload method attempt to load the represented package using the "load" method and returns truthy/falsy based on whether the package was loaded.

tryload() (Bool)

{ since => '0.01', }

=example-1 tryload

package main;

use Venus::Space;

my $space = Venus::Space->new('c_p_a_n');

my $tryload = $space->tryload;

# 1

The use method executes a use statement within the package namespace specified.

use(Str | Tuple[Str, Str] $target, Any @params) (Space)

{ since => '0.01', }

=example-1 use

package main;

use Venus::Space;

my $space = Venus::Space->new('foo/goo');

my $use = $space->use('Venus');

# bless({ value => "foo/goo" }, "Venus::Space")

The unload method unloads a package space by nullifying its symbol table and removing it from %INC.

unload() (Self)

{ since => '1.02', }

=example-1 unload

package main;

use Venus::Space;

# Bar::Gen is generated with $VERSION as 0.01

my $space = Venus::Space->new('Bar/Gen');

$space->load;

my $unload = $space->unload;

# bless({ value => "Bar::Gen" }, "Venus::Space")

# Bar::Gen->VERSION was 0.01, now undef

# Symbol table remains, $space->visible is 1

The unloaded method checks whether the package namespace is not loaded and returns truthy or falsy.

unloaded() (Bool)

{ since => '1.02', }

=example-1 unloaded

package main;

use Venus::Space;

my $space = Venus::Space->new('Kit');

$space->init;

$space->unload;

my $unloaded = $space->unloaded;

# 1

The variables method searches the package namespace for variables and returns their names.

variables() (ArrayRef[Tuple[Str, ArrayRef]])

{ since => '0.01', }

=example-1 variables

package Etc;

our $init = 0;
our $func = 1;

our @does = (1..4);
our %sets = (1..4);

package main;

use Venus::Space;

my $space = Venus::Space->new('etc');

my $variables = $space->variables;

# [
#   ["arrays", ["does"]],
#   ["hashes", ["sets"]],
#   ["scalars", ["func", "init"]],
# ]

The visible method returns truthy is the package namespace is visible, i.e. has symbols defined.

visible() (Bool)

{ since => '1.02', }

=example-1 visible

# given: synopsis

package main;

my $visible = $space->visible;

# 1

The version method returns the VERSION declared on the target package, if any.

version() (Maybe[Str])

{ since => '0.01', }

=example-1 version

package Foo::Boo;

sub import;

package main;

use Venus::Space;

my $space = Venus::Space->new('foo/boo');

my $version = $space->version;

# undef

t/Venus.t: pdml: authors t/Venus.t: pdml: license

226 POD Errors

The following errors were encountered while parsing the POD:

Around line 15:

Unknown directive: =name

Around line 23:

Unknown directive: =tagline

Around line 31:

Unknown directive: =abstract

Around line 39:

Unknown directive: =includes

Around line 103:

Unknown directive: =synopsis

Around line 122:

Unknown directive: =description

Around line 130:

Unknown directive: =inherits

Around line 138:

Unknown directive: =method

Around line 145:

Unknown directive: =signature

Around line 149:

Unknown directive: =metadata

Around line 196:

=cut found outside a pod block. Skipping to next block.

Around line 231:

=cut found outside a pod block. Skipping to next block.

Around line 247:

Unknown directive: =method

Around line 252:

Unknown directive: =signature

Around line 256:

Unknown directive: =metadata

Around line 289:

=cut found outside a pod block. Skipping to next block.

Around line 300:

Unknown directive: =method

Around line 304:

Unknown directive: =signature

Around line 308:

Unknown directive: =metadata

Around line 352:

=cut found outside a pod block. Skipping to next block.

Around line 362:

Unknown directive: =method

Around line 367:

Unknown directive: =signature

Around line 371:

Unknown directive: =metadata

Around line 402:

Unknown directive: =method

Around line 407:

Unknown directive: =signature

Around line 411:

Unknown directive: =metadata

Around line 472:

=cut found outside a pod block. Skipping to next block.

Around line 482:

Unknown directive: =method

Around line 487:

Unknown directive: =signature

Around line 491:

Unknown directive: =metadata

Around line 536:

=cut found outside a pod block. Skipping to next block.

Around line 546:

Unknown directive: =method

Around line 550:

Unknown directive: =signature

Around line 554:

Unknown directive: =metadata

Around line 578:

Unknown directive: =method

Around line 583:

Unknown directive: =signature

Around line 587:

Unknown directive: =metadata

Around line 631:

=cut found outside a pod block. Skipping to next block.

Around line 643:

Unknown directive: =method

Around line 648:

Unknown directive: =signature

Around line 652:

Unknown directive: =metadata

Around line 700:

=cut found outside a pod block. Skipping to next block.

Around line 728:

=cut found outside a pod block. Skipping to next block.

Around line 741:

Unknown directive: =method

Around line 746:

Unknown directive: =signature

Around line 750:

Unknown directive: =metadata

Around line 810:

=cut found outside a pod block. Skipping to next block.

Around line 832:

=cut found outside a pod block. Skipping to next block.

Around line 843:

Unknown directive: =method

Around line 847:

Unknown directive: =signature

Around line 851:

Unknown directive: =metadata

Around line 905:

=cut found outside a pod block. Skipping to next block.

Around line 942:

=cut found outside a pod block. Skipping to next block.

Around line 957:

Unknown directive: =method

Around line 962:

Unknown directive: =signature

Around line 966:

Unknown directive: =metadata

Around line 991:

Unknown directive: =method

Around line 996:

Unknown directive: =signature

Around line 1000:

Unknown directive: =metadata

Around line 1034:

Unknown directive: =method

Around line 1041:

Unknown directive: =signature

Around line 1045:

Unknown directive: =metadata

Around line 1100:

=cut found outside a pod block. Skipping to next block.

Around line 1111:

Unknown directive: =method

Around line 1116:

Unknown directive: =signature

Around line 1120:

Unknown directive: =metadata

Around line 1143:

Unknown directive: =method

Around line 1148:

Unknown directive: =signature

Around line 1152:

Unknown directive: =metadata

Around line 1193:

=cut found outside a pod block. Skipping to next block.

Around line 1204:

Unknown directive: =method

Around line 1209:

Unknown directive: =signature

Around line 1213:

Unknown directive: =metadata

Around line 1237:

Unknown directive: =method

Around line 1241:

Unknown directive: =signature

Around line 1245:

Unknown directive: =metadata

Around line 1293:

=cut found outside a pod block. Skipping to next block.

Around line 1303:

Unknown directive: =method

Around line 1308:

Unknown directive: =signature

Around line 1312:

Unknown directive: =metadata

Around line 1348:

Unknown directive: =method

Around line 1352:

Unknown directive: =signature

Around line 1356:

Unknown directive: =metadata

Around line 1380:

Unknown directive: =method

Around line 1384:

Unknown directive: =signature

Around line 1388:

Unknown directive: =metadata

Around line 1414:

Unknown directive: =method

Around line 1419:

Unknown directive: =signature

Around line 1423:

Unknown directive: =metadata

Around line 1451:

Unknown directive: =method

Around line 1456:

Unknown directive: =signature

Around line 1460:

Unknown directive: =metadata

Around line 1510:

=cut found outside a pod block. Skipping to next block.

Around line 1520:

Unknown directive: =method

Around line 1524:

Unknown directive: =signature

Around line 1528:

Unknown directive: =metadata

Around line 1556:

Unknown directive: =method

Around line 1562:

Unknown directive: =signature

Around line 1566:

Unknown directive: =metadata

Around line 1597:

Unknown directive: =method

Around line 1602:

Unknown directive: =signature

Around line 1606:

Unknown directive: =metadata

Around line 1644:

=cut found outside a pod block. Skipping to next block.

Around line 1654:

Unknown directive: =method

Around line 1663:

Unknown directive: =signature

Around line 1667:

Unknown directive: =metadata

Around line 1707:

=cut found outside a pod block. Skipping to next block.

Around line 1718:

Unknown directive: =method

Around line 1723:

Unknown directive: =signature

Around line 1727:

Unknown directive: =metadata

Around line 1772:

=cut found outside a pod block. Skipping to next block.

Around line 1782:

Unknown directive: =method

Around line 1788:

Unknown directive: =signature

Around line 1792:

Unknown directive: =metadata

Around line 1833:

=cut found outside a pod block. Skipping to next block.

Around line 1843:

Unknown directive: =method

Around line 1849:

Unknown directive: =signature

Around line 1853:

Unknown directive: =metadata

Around line 1890:

=cut found outside a pod block. Skipping to next block.

Around line 1901:

Unknown directive: =method

Around line 1906:

Unknown directive: =signature

Around line 1910:

Unknown directive: =metadata

Around line 1940:

Unknown directive: =method

Around line 1944:

Unknown directive: =signature

Around line 1948:

Unknown directive: =metadata

Around line 1972:

Unknown directive: =method

Around line 1977:

Unknown directive: =signature

Around line 1981:

Unknown directive: =metadata

Around line 2006:

Unknown directive: =method

Around line 2011:

Unknown directive: =signature

Around line 2015:

Unknown directive: =metadata

Around line 2051:

=cut found outside a pod block. Skipping to next block.

Around line 2073:

=cut found outside a pod block. Skipping to next block.

Around line 2095:

=cut found outside a pod block. Skipping to next block.

Around line 2117:

=cut found outside a pod block. Skipping to next block.

Around line 2127:

Unknown directive: =method

Around line 2131:

Unknown directive: =signature

Around line 2135:

Unknown directive: =metadata

Around line 2175:

=cut found outside a pod block. Skipping to next block.

Around line 2197:

=cut found outside a pod block. Skipping to next block.

Around line 2207:

Unknown directive: =method

Around line 2211:

Unknown directive: =signature

Around line 2215:

Unknown directive: =metadata

Around line 2241:

Unknown directive: =method

Around line 2246:

Unknown directive: =signature

Around line 2250:

Unknown directive: =metadata

Around line 2283:

=cut found outside a pod block. Skipping to next block.

Around line 2294:

Unknown directive: =method

Around line 2299:

Unknown directive: =signature

Around line 2303:

Unknown directive: =metadata

Around line 2350:

Unknown directive: =method

Around line 2355:

Unknown directive: =signature

Around line 2359:

Unknown directive: =metadata

Around line 2384:

Unknown directive: =method

Around line 2390:

Unknown directive: =signature

Around line 2394:

Unknown directive: =metadata

Around line 2452:

=cut found outside a pod block. Skipping to next block.

Around line 2474:

Unknown directive: =method

Around line 2479:

Unknown directive: =signature

Around line 2483:

Unknown directive: =metadata

Around line 2507:

Unknown directive: =method

Around line 2513:

Unknown directive: =signature

Around line 2517:

Unknown directive: =metadata

Around line 2541:

Unknown directive: =method

Around line 2546:

Unknown directive: =signature

Around line 2550:

Unknown directive: =metadata

Around line 2610:

=cut found outside a pod block. Skipping to next block.

Around line 2621:

Unknown directive: =method

Around line 2626:

Unknown directive: =signature

Around line 2630:

Unknown directive: =metadata

Around line 2668:

Unknown directive: =method

Around line 2672:

Unknown directive: =signature

Around line 2676:

Unknown directive: =metadata

Around line 2720:

=cut found outside a pod block. Skipping to next block.

Around line 2730:

Unknown directive: =method

Around line 2735:

Unknown directive: =signature

Around line 2739:

Unknown directive: =metadata

Around line 2771:

Unknown directive: =method

Around line 2776:

Unknown directive: =signature

Around line 2780:

Unknown directive: =metadata

Around line 2805:

Unknown directive: =method

Around line 2810:

Unknown directive: =signature

Around line 2814:

Unknown directive: =metadata

Around line 2849:

Unknown directive: =method

Around line 2854:

Unknown directive: =signature

Around line 2858:

Unknown directive: =metadata

Around line 2899:

=cut found outside a pod block. Skipping to next block.

Around line 2922:

=cut found outside a pod block. Skipping to next block.

Around line 2945:

=cut found outside a pod block. Skipping to next block.

Around line 2956:

Unknown directive: =method

Around line 2963:

Unknown directive: =signature

Around line 2967:

Unknown directive: =metadata

Around line 3031:

=cut found outside a pod block. Skipping to next block.

Around line 3043:

Unknown directive: =method

Around line 3047:

Unknown directive: =signature

Around line 3051:

Unknown directive: =metadata

Around line 3077:

Unknown directive: =method

Around line 3083:

Unknown directive: =signature

Around line 3087:

Unknown directive: =metadata

Around line 3127:

=cut found outside a pod block. Skipping to next block.

Around line 3136:

Unknown directive: =method

Around line 3141:

Unknown directive: =signature

Around line 3145:

Unknown directive: =metadata

Around line 3191:

=cut found outside a pod block. Skipping to next block.

Around line 3217:

=cut found outside a pod block. Skipping to next block.

Around line 3238:

Unknown directive: =method

Around line 3243:

Unknown directive: =signature

Around line 3247:

Unknown directive: =metadata

Around line 3294:

Unknown directive: =method

Around line 3299:

Unknown directive: =signature

Around line 3303:

Unknown directive: =metadata

Around line 3349:

=cut found outside a pod block. Skipping to next block.

Around line 3359:

Unknown directive: =method

Around line 3364:

Unknown directive: =signature

Around line 3368:

Unknown directive: =metadata

Around line 3411:

Unknown directive: =method

Around line 3416:

Unknown directive: =signature

Around line 3420:

Unknown directive: =metadata

Around line 3460:

=cut found outside a pod block. Skipping to next block.

Around line 3486:

=cut found outside a pod block. Skipping to next block.

Around line 3512:

=cut found outside a pod block. Skipping to next block.

Around line 3522:

Unknown directive: =method

Around line 3527:

Unknown directive: =signature

Around line 3531:

Unknown directive: =metadata

Around line 3578:

=cut found outside a pod block. Skipping to next block.

Around line 3588:

Unknown directive: =partials