~tyil/raku-config-parser-toml

0d1737fb2ab52cf56ddf2146e5ff910dfc66d7b4 — Patrick Spek 4 months ago 5bb23ec
Modernize the module
4 files changed, 20 insertions(+), 22 deletions(-)

M META6.json
R lib/Config/Parser/{toml.pm6 => toml.rakumod}
M t/01-read.t
M t/02-write.t
M META6.json => META6.json +2 -2
@@ 1,7 1,7 @@
{
    "perl": "6",
    "name": "Config::Parser::toml",
    "version": "1.0.0",
    "version": "1.0.1",
    "auth": "github:scriptkitties",
    "description": "TOML parser for Config",
    "license": "GPL-3.0",


@@ 10,7 10,7 @@
        "Config::TOML"
    ],
    "provides": {
        "Config::Parser::toml": "lib/Config/Parser/toml.pm6"
        "Config::Parser::toml": "lib/Config/Parser/toml.rakumod"
    },
    "authors": [
        "Patrick Spek <p.spek@tyil.work>"

R lib/Config/Parser/toml.pm6 => lib/Config/Parser/toml.rakumod +10 -11
@@ 1,21 1,20 @@
#! /usr/bin/env false

use v6.c;
use v6.d;

use Config::Parser;
use Config::TOML;

class Config::Parser::toml is Config::Parser
unit class Config::Parser::toml is Config::Parser;

method read(IO() $path --> Hash)
{
    method read(Str $path --> Hash)
    {
        from-toml(slurp $path);
    }
	from-toml($path.slurp);
}

    method write(Str $path, Hash $config --> Bool)
    {
        spurt $path, to-toml($config);
method write(IO() $path, Hash $config --> Bool)
{
	$path.spurt(to-toml($config));

        True;
    }
	True;
}

M t/01-read.t => t/01-read.t +2 -3
@@ 5,13 5,12 @@ use Test;
use lib "lib";

use Config;
use Config::Parser::toml;

plan 4;

my $config = Config.new();

ok $config.read("t/files/config.toml"), "File reading throws no error";
ok $config.read('t/files/config.toml'.IO), "File reading throws no error";

subtest "Contents match" => {
    plan 2;


@@ 20,7 19,7 @@ subtest "Contents match" => {
    is $config.get("header.b"), "b", "b = b";
};

ok $config.read("t/files/merge.toml"), "File merging throws no error";
ok $config.=read('t/files/merge.toml'.IO), "File merging throws no error";

subtest "Contents match after merging" => {
    plan 4;

M t/02-write.t => t/02-write.t +6 -6
@@ 1,18 1,18 @@
#! /usr/bin/env perl6

use v6.c;
use Test;
use lib "lib";

use Config;
use Config::Parser::toml;
use File::Temp;
use Test;

use Config::Parser::toml;

plan 4;

my $config = Config.new();

$config.read({
$config.=read({
    first => {
        a => "a",
        b => "b"


@@ 25,10 25,10 @@ $config.read({

my ($filename, $fh) = tempfile;

ok $config.write($filename, "Config::Parser::toml"), "Write succeeded";
ok $config.write($filename.IO, Config::Parser::toml), "Write succeeded";

is slurp("t/files/write.toml"), slurp($filename), "Written config is correct";

ok $config.write($filename, "Config::Parser::toml"), "Write over non-empty file";
ok $config.write($filename.IO, Config::Parser::toml), "Write over non-empty file";

is slurp("t/files/write.toml"), slurp($filename), "Written config is still correct";