Carrot
view release on metacpan or search on metacpan
lib/Carrot/Meta/Greenhouse/Dot_Ini.pm view on Meta::CPAN
package Carrot::Meta::Greenhouse::Dot_Ini
# /type class
# /attribute_type ::Many_Declared::Ordered
# /capability "Processing of .ini files (global and package-specific)"
{
use strict;
use warnings 'FATAL' => 'all';
BEGIN {
require('Carrot/Meta/Greenhouse/Dot_Ini./manual_modularity.pl');
} #BEGIN
Carrot::Meta::Greenhouse::Package_Loader::provide_instance(
my $package_resolver = '::Modularity::Package::Resolver');
$package_resolver->provide(
my $package_name_class = '::Modularity::Package::Name',
my $file_name_class = '::Personality::Valued::File::Name::Type::Regular::Content::UTF8_wBOM',
my $directory_name_class = '::Personality::Valued::File::Name::Type::Directory',
my $line_class = 'Carrot::Meta::Greenhouse::Dot_Ini::Line',
my $cursor_class = '::Personality::Reflective::Iterate::Array::Cursor');
$package_resolver->provide_instance(
my $pkg_patterns = '::Modularity::Package::Patterns',
my $compilation_name = '::Meta::Greenhouse::Compilation_Name',
my $translated_errors = '::Meta::Greenhouse::Translated_Errors',
my $application_directories = '::Meta::Greenhouse::Application_Directories',
my $passage_counter = '::Meta::Greenhouse::Passage_Counter',
my $search_path = '::Personality::Valued::File::Name::Type::Directory::Search_Path');
require Carrot::Meta::Greenhouse::Site_Directories;
my $site_directories = Carrot::Meta::Greenhouse::Site_Directories->constructor;
my $candidates = $site_directories->subdirectories('configuration');
foreach my $cfg_dir (@$candidates)
{
my $cfg_directory = $directory_name_class
->indirect_constructor($cfg_dir);
# $cfg_directory->canonify;
$search_path->append_if_distinct($cfg_directory);
}
# =--------------------------------------------------------------------------= #
sub attribute_construction
# /type method
# /effect "Constructs the attribute(s) of a newly created instance."
# //parameters
# subject
# //returns
{
my ($this, $subject) = @ARGUMENTS;
unless (defined($subject))
{
my $caller = [caller];
$subject = $caller->[RDX_CALLER_PACKAGE];
}
$this->[ATR_SUBJECT] = $subject;
return;
}
sub search_path
# /type function
# /effect "Returns the search path for .ini files"
# //parameters
# //returns
# ::Personality::Valued::File::Name::Type::Directory::Search_Path
{
return($search_path);
}
sub find_configuration
# /type method
# /effect "Merges and processes lines from different sources"
# //parameters
( run in 1.888 second using v1.01-cache-2.11-cpan-5b529ec07f3 )