The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Stencil::Data

ABSTRACT

Represents the generator specification

SYNOPSIS

use Stencil::Repo;
use Stencil::Data;

my $repo = Stencil::Repo->new;

$repo->store->mkpath;

my $spec = Stencil::Data->new(name => 'foo', repo => $repo);

# $spec->read;
# $spec->write($data);

DESCRIPTION

This package provides a spec class which represents the generator specification.

LIBRARIES

This package uses type constraints from:

Types::Standard

ATTRIBUTES

This package has the following attributes:

file

file(Object)

This attribute is read-only, accepts (Object) values, and is optional.

name

name(Str)

This attribute is read-only, accepts (Str) values, and is required.

repo

repo(Object)

This attribute is read-only, accepts (Object) values, and is required.

METHODS

This package implements the following methods:

read

read() : HashRef

The read method reads the generator specification (yaml) file and returns the data.

read example #1
# given: synopsis

$spec->read($spec->write({ name => 'gen' }));

write

write(HashRef $data) : InstanceOf["Path::Tiny"]

The write method write the generator specification (yaml) file and returns the file written.

write example #1
# given: synopsis

$spec->write($spec->read);

AUTHOR

Al Newkirk, awncorp@cpan.org

LICENSE

Copyright (C) 2011-2019, Al Newkirk, et al.

This is free software; you can redistribute it and/or modify it under the terms of the The Apache License, Version 2.0, as elucidated in the "license file".

PROJECT

Wiki

Project

Initiatives

Milestones

Contributing

Issues