aboutsummaryrefslogtreecommitdiff
path: root/lib/App/Beam/Config.pm
AgeCommit message (Collapse)AuthorFiles
2017-03-15Minor changesperlSergey Poznyakoff1
* lib/App/Beam/Config.pm (check_mandatory): Remove (fixup): Rewrite to implement mandatory variable checking.
2017-03-07Initial implementation of the list subcommandSergey Poznyakoff1
* MANIFEST: Update * lib/App/Beam/List.pm: New file. * beam (list): New subcommand * lib/App/Beam.pm: End with 1; * lib/App/Beam/Command.pm: Likewise. * lib/App/Beam/Config.pm: Likewise. * lib/App/Beam/Config/Locus.pm: Likewise.
2017-03-07Implement tar backupSergey Poznyakoff1
* lib/App/Beam/Config.pm (get): Return dereferenced array and hash refs. (__lint): Fix array collection. * lib/App/Beam.pm (%parameters): Mark unhandled keywords as arrays (logger): Read from fd, if passed as the first argument. (logcommand): New method. * lib/App/Beam/Backend.pm: New file. * lib/App/Beam/Backend/Tar.pm: New file. * lib/App/Beam/Backup.pm (run): Assume result OK, unless already set otherwise. * lib/App/Beam/Command.pm: New file. * MANIFEST: Update.
2017-03-04Improve config syntax verification.Sergey Poznyakoff1
Fix processing of the '*' entry in the syntax hashes. The entry '*' => '*' in the syntax hash declares that any settings and any subsections are also allowed.
2017-03-04Improve the lint methodSergey Poznyakoff1
* lib/App/Beam/Config.pm (parse_section): Return a tuple. Take locus as parameter. Set locations for all intermediary sections. (check_mandatory): Use the 'select' callback if it is defined. (readconfig): Take exactly two arguments. (lint): Rewrite.
2017-03-04Always keep locus with each statement; phase out the locations keyword.Sergey Poznyakoff1
2017-03-03Implement lint() methodSergey Poznyakoff1
* lib/App/Beam/Config.pm: Keep count of errors in the error_count member. (getref): Take into account the {ci} setting. (flatten): Minor fix. (lint): New method. * t/TestConfig.pm (lint): Overload method. * t/conf06.t: New test case.
2017-03-02Small improvement of the config parser.Sergey Poznyakoff1
* lib/App/Beam/Config.pm: Keep ordinal numbers (relative positions in the source file) of statements. (flatten): Rewrite method. * t/TestConfig.pm: Update.
2017-03-02Document App::Beam::ConfigSergey Poznyakoff1
Rename the isscalar method to isvariable.
2017-03-02Rework configuration class to support optional "locations" mode.Sergey Poznyakoff1
When location => 1 is passed to the constructor, the created class will store source locations along with the configuration variables. * lib/App/Beam/Config.pm (error): Use the passed Locus object. (new): New kw parameter "locations" controls whether source locations are stored along with each configuration variable. (check_mandatory): Handle wildcard parameter declarations. (readconfig): Pass locations to all functions as Locus objects. Store them if required. (get): Rewrite to retrieve locations on request. (isset,issection,isscalar): Rewrite. (set): Handle the locations mode. (names_of): New method. * lib/App/Beam/Config/Locus.pm: New file. * MANIFEST: Add new files. * lib/App/Beam.pm (parameters): Declare "backend" and "item" sections. (new): Enable locations mode. (logger, logger_line): Redo to make use of the passed Locus object. (load_backends): New method. * t/TestConfig.pm: Rewrite. * t/conf01l.t: New test case. * t/conf02l.t: New test case. * t/conf03l.t: New test case. * t/conf04l.t: New test case. * t/conf05l.t: New test case. * t/locus.t: New test case.
2017-02-28Improve run-time configuration framework; provide boilerplate for the backup ↵Sergey Poznyakoff1
subcommand
2017-02-16Implement list configuration variablesSergey Poznyakoff1
2017-02-16Improve config parser. Add more tests.Sergey Poznyakoff1
* MANIFEST: Update. * lib/App/Beam/Config.pm: Rewrite 'error' as method. Check for missing mandatory statements. * t/TestConfig.pm: New file. * t/conf01.t: New file. * t/conf02.t: New file. * t/conf03.t: New file. * t/config.t: Remove. * t/f.conf: Remove.
2017-02-16Starting rewrite in PerlSergey Poznyakoff1

Return to:

Send suggestions and report system problems to the System administrator.