class Distribution::Hash

Distribution::Hash

    class Distribution::Hash does Distribution::Locally { }

A Distribution implementation backed by the filesystem. It does not require a META6.json file, essentially providing a lower level Distribution::Path.

Methods

method new

method new($hash:$prefix)

Creates a new Distribution::Hash instance from the metadata contained in $hash. All paths in the metadata will be prefixed with :$prefix.

method meta

method meta()

Returns a Hash with the representation of the metadata.

method content

Please check the content method in Distribution::Locally.

Returns an IO::Handle to the file represented by $name-path. $name-path is a relative path as it would be found in the metadata such as lib/Foo.pm6 or resources/foo.txt.

Type Graph

Type relations for Distribution::Hash
perl6-type-graph Distribution::Hash Distribution::Hash Any Any Distribution::Hash->Any Distribution::Locally Distribution::Locally Distribution::Hash->Distribution::Locally Mu Mu Any->Mu Distribution Distribution Distribution::Locally->Distribution

Expand above chart

Routines supplied by role Distribution::Locally

Distribution::Hash does role Distribution::Locally, which provides the following routines:

(Distribution::Locally) method prefix

A prefix path to be used in conjuncture with the paths found in the metadata.

(Distribution::Locally) method content

Provides Distribution#method_content

Returns an IO::Handle to the file represented by $name-path. $name-path is a relative path as it would be found in the metadata such as lib/Foo.pm6 or resources/foo.txt, and these paths will be prefixed with Distribution#method_prefix.

Routines supplied by role Distribution

Distribution::Hash does role Distribution, which provides the following routines:

(Distribution) method meta

method meta(--> Hash:D{ ... }

Returns a Hash with the representation of the metadata. Please note that an actual META6.json file does not need to exist, just a representation in that format.

(Distribution) method content

method content($name-path --> IO::Handle:D{ ... }

Returns an IO::Handle to the file represented by $name-path. $name-path is a relative path as it would be found in the metadata such as lib/Foo.pm6 or resources/foo.txt.