Math-Formula
view release on metacpan or search on metacpan
lib/Math/Formula/Config/INI.pod view on Meta::CPAN
=encoding utf8
=head1 NAME
Math::Formula::Config::INI - load/save formulas to file as INI
=head1 INHERITANCE
Math::Formula::Config::INI
is a Math::Formula::Config
=head1 SYNOPSIS
my $context = Math::Formula::Content->new(name => 'test');
my $config = Math::Formula::Config::INI->new(directory => $dir);
$config->save($context);
my $context = $config->load('test');
=head1 DESCRIPTION
Save and load a L<Math::Formula::Context|Math::Formula::Context> to INI files. The INI file
is not too complex.
You need to have installed B<Config::INI>. That module is not in the
dependencies of this packages, because we do not want to add complications
to the main code.
Extends L<"DESCRIPTION" in Math::Formula::Config|Math::Formula::Config/"DESCRIPTION">.
=head1 METHODS
Extends L<"METHODS" in Math::Formula::Config|Math::Formula::Config/"METHODS">.
=head2 Constructors
Extends L<"Constructors" in Math::Formula::Config|Math::Formula::Config/"Constructors">.
=over 4
=item $class-E<gt>B<new>(%options)
Inherited, see L<Math::Formula::Config/"Constructors">
=back
=head2 Attributes
Extends L<"Attributes" in Math::Formula::Config|Math::Formula::Config/"Attributes">.
=over 4
=item $obj-E<gt>B<directory>()
Inherited, see L<Math::Formula::Config/"Attributes">
=item $obj-E<gt>B<path_for>($file)
Inherited, see L<Math::Formula::Config/"Attributes">
=back
=head2 Actions
Extends L<"Actions" in Math::Formula::Config|Math::Formula::Config/"Actions">.
=over 4
=item $obj-E<gt>B<load>($name, %options)
Load a L<Math::Formula::Context|Math::Formula::Context> for an INI file.
Improves base, see L<Math::Formula::Config/"Actions">
-Option --Default
filename <directory/$name.ini>
=over 2
=item filename => FILENAME
=back
=item $obj-E<gt>B<save>($context, %options)
Serialize the C<$context> to INI files, as storage or to be edited by hand.
This is a useful method when default configuration templates need to be generated.
Improves base, see L<Math::Formula::Config/"Actions">
-Option --Default
filename $context->name .ini
=over 2
=item filename => STRING
Save under a different filename than derived from the name of the context.
=back
=back
=head1 DETAILS
L<According to Wikipedia|https://en.wikipedia.org/wiki/INI_file>, INI files only
support strings and numbers. To stay as close as possible to that
description, everything else is put between double quotes (also the
booleans).
Only the quoted data may contain attributes.
B<. Example>
name = test
version = 1
created = "2023-02-26T20:07:54+0000"
updated = "2023-02-26T20:07:54+0000"
mf_version = 0
[formulas]
expr2 = "\"abc\".size + 3k"; returns='MF::INTEGER'
fakes = "false"
dinertime = "18:05:07"
expr1 = "1 + 2 * 3"
string = abc
some_truth = "true"
=head1 DIAGNOSTICS
=over 4
=item Error: Save directory '$dir' does not exist
Z<>
=item Error: Save directory required
Z<>
=item Warning: cannot (yet) save CODE, skipped '$name'
Z<>
=back
=head1 SEE ALSO
This module is part of Math-Formula version 0.18,
built on August 19, 2025. Website: F<http://perl.overmeer.net/CPAN/>
=head1 LICENSE
For contributors see file ChangeLog.
This software is copyright (c) 2023-2025 by Mark Overmeer.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
( run in 0.838 second using v1.01-cache-2.11-cpan-13bb782fe5a )