NAME
File::Stubb::Render - Stubb template rendering class
USAGE
use File::Stubb::Render;
my $render = File::Stubb::Render->new(
template => '/path/to/template',
subst => { one => 1, two => 2 },
);
my @created = $render->render('/path/to/output');
DESCRIPTION
File::Stubb::Render is a module that provides an object-oriented interface to stubb's template rendering routines. This is a private module for stubb. For user documentation, consult the stubb manual.
METHODS
- $render = File::Stubb::Render->new(%params)
-
Creates a new File::Stubb::Render object from
%params
. The following are valid parameters:- template
-
Path to template file. Required
- subst
-
Hash ref of substitution parameters.
-
Boolean determining whether to render hidden files from a template directory. Defaults to false.
- follow_symlinks
-
Boolean determining whether to render the file symlinks point to, or to copy the symlinks themselves in template directories. Defaults to true.
- copy_perms
-
Boolean determining whether to copy the permissions of a template file when rendering. Defaults to false.
- defaults
-
Boolean determining whether to use any default substitution parameters provided by a template's .stubb.json.
- ignore_config
-
Boolean determining whether a template's config file should be ignored during initialization or not. Defaults to false.
- @created = $render->render($output)
-
Render template to
$output
. Returns a list of created files.For documentation on how stubb renders files, consult the stubb manual.
- $targets = $render->targets()
-
Returns a hash ref list of targets in the object's template. The hash ref will look something like this:
{ basic => [ ... ], perl => [ ... ], shell => [ ... ], }
- $new = $render->render_path($path)
-
Renders
$path
as a path name. - $template = $render->template()
-
Get the path to
$render
's template file. - $subst = $render->subst()
- $render->set_subst($subst)
-
Getter/setter for
$render
's substitution parameter hash ref. -
Getter/setter for
$render
's render hidden files flag. - $follow = $render->follow_symlinks()
- $render->set_follow_symlinks($follow)
-
Getter/setter for
$render
's follow symlinks flag. - $copy = $render->copy_perms
- $render->set_copy_perms($copy)
-
Getter/setter for
$render
's copy perms flag. - $def = $render->defaults()
-
Getter for
$render
's defaults flag. - $ign = $render->ignore_config()
-
Getter for
$render
's ignore_config flag.
AUTHOR
Written by Samuel Young, <samyoung12788@gmail.com>.
This project's source can be found on its Codeberg page. Comments and pull requests are welcome!
COPYRIGHT
Copyright (C) 2025 Samuel Young
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.