logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Dist::Zilla::Role::PluginBundle::Config::Slicer - Pass Portions of Bundle Config to Plugins

Author

       Randy Stauner <rwstauner@cpan.org>

Description

       This role enables your Dist::Zilla Plugin Bundle to accept configuration customizations for the plugins
       it will load and merge them transparently.

         # dist.ini
         [@MyBundle]
         option = 1
         Included::Plugin.attribute = overwrite value
         AnotherPlug.array[0] = append value
         AnotherPlug.array[1] = append another value

       See "CONFIGURATION SYNTAX" in Config::MVP::Slicer for details on how the configurations are handled.

       This role adds a method modifier to "bundle_config", which is the method that the root "PluginBundle"
       role requires, and that "PluginBundle::Easy" wraps.

       After "bundle_config" is called the modifier will update the returned plugin configurations with any
       values that were customized in the main bundle config.

       Most of the work is done by Dist::Zilla::Config::Slicer (a subclass of Config::MVP::Slicer).  Check out
       those modules if you want the same functionality but don't want to consume this role in your bundle.

Name

       Dist::Zilla::Role::PluginBundle::Config::Slicer - Pass Portions of Bundle Config to Plugins

See Also

       •   Config::MVP::Slicer

       •   Dist::Zilla

       •   Dist::Zilla::Config::Slicer

       •   Dist::Zilla::Role::PluginBundle

       •   Dist::Zilla::Role::PluginBundle::Easy

       •   Dist::Zilla::PluginBundle::ConfigSlicer

Synopsis

         # in Dist::Zilla::PluginBundle::MyBundle

         with (
           'Dist::Zilla::Role::PluginBundle', # or PluginBundle::Easy
           'Dist::Zilla::Role::PluginBundle::Config::Slicer'
         );

         # Config::Slicer should probably be last
         # (unless you're doing something more complex)

Version

       version 0.202

See Also