From 78b50771c7e478bc7da58236bc555bfb91719130 Mon Sep 17 00:00:00 2001 From: Fernando Correa de Oliveira Date: Sat, 22 Aug 2026 01:06:52 +0100 Subject: [PATCH 1/2] Change .perl method to .raku --- lib/MetamodelX/Red/Model.rakumod | 2 +- lib/Red/Attr/Column.rakumod | 2 +- lib/Red/Cli.rakumod | 2 +- lib/Red/Column.rakumod | 4 +- lib/Red/Driver.rakumod | 4 +- lib/Red/Driver/Mock.rakumod | 2 +- lib/Red/Model.rakumod | 4 +- lib/Red/Traits.rakumod | 2 +- lib/X/Red/Exceptions.rakumod | 2 +- t/01-tdd.rakutest | 66 ++++++++++++++++---------------- t/17-pp.rakutest | 2 +- 11 files changed, 45 insertions(+), 47 deletions(-) diff --git a/lib/MetamodelX/Red/Model.rakumod b/lib/MetamodelX/Red/Model.rakumod index d014d043..399373f1 100644 --- a/lib/MetamodelX/Red/Model.rakumod +++ b/lib/MetamodelX/Red/Model.rakumod @@ -176,7 +176,7 @@ method compose(Mu \type) { #} } die "{$.rs-class.^name} should do the Red::ResultSeq role" unless $.rs-class ~~ Red::ResultSeq; - self.add_role: type, Red::Model; + self.add_role: type, Red::Model unless type ~~ Red::Model; self.add_role: type, role :: { method TWEAK(|c) { self.^set-dirty: self.^columns; diff --git a/lib/Red/Attr/Column.rakumod b/lib/Red/Attr/Column.rakumod index 7fdbcc76..d192bbbc 100644 --- a/lib/Red/Attr/Column.rakumod +++ b/lib/Red/Attr/Column.rakumod @@ -4,7 +4,7 @@ unit role Red::Attr::Column; has %.args; has Red::Column $!column; -method perl { $.column.gist } +method raku { $.column.gist } method column(--> Red::Column:D) { $!column.DEFINITE ?? $!column !! Red::Column.new: |%!args, :attr(self) diff --git a/lib/Red/Cli.rakumod b/lib/Red/Cli.rakumod index fe3ba234..128dc59c 100644 --- a/lib/Red/Cli.rakumod +++ b/lib/Red/Cli.rakumod @@ -24,7 +24,7 @@ sub gen-stub(:@includes, :@models, :$driver, :%pars) { for @includes.unique { @stub.push: "use $_;" } - @stub.push: "\nred-defaults \"{ $driver }\", { %pars.map(*.perl) };"; + @stub.push: "\nred-defaults \"{ $driver }\", { %pars.map(*.raku) };"; @stub.push: ""; for @models { @stub.push: ".say for { $_ }.^all;" diff --git a/lib/Red/Column.rakumod b/lib/Red/Column.rakumod index 62efb783..371d5868 100644 --- a/lib/Red/Column.rakumod +++ b/lib/Red/Column.rakumod @@ -67,11 +67,11 @@ multi method WHICH(::?CLASS:D:) { ValueObjAt.new: self.gist } -multi method perl(::?CLASS:D:) { +multi method raku(::?CLASS:D:) { "{ self.^name }.new({ self.Hash.pairs.sort.map(-> (:$key, :$value) { next if $key eq .one; - "$key.Str() => $value.perl()" + "$key.Str() => $value.raku()" }).join: ", " })" } diff --git a/lib/Red/Driver.rakumod b/lib/Red/Driver.rakumod index e1e28acd..24091a4e 100644 --- a/lib/Red/Driver.rakumod +++ b/lib/Red/Driver.rakumod @@ -122,7 +122,7 @@ method optimize(Red::AST $in --> Red::AST) { $in } multi method debug(@bind) { if $*RED-DEBUG { - note "BIND: @bind.perl()"; + note "BIND: @bind.raku()"; } } @@ -135,6 +135,6 @@ multi method debug($sql) { multi method debug($sql, @binds) { if $*RED-DEBUG { note "SQL : $sql"; - note "BIND: @binds.perl()"; + note "BIND: @binds.raku()"; } } diff --git a/lib/Red/Driver/Mock.rakumod b/lib/Red/Driver/Mock.rakumod index 7dedd083..4de895ca 100644 --- a/lib/Red/Driver/Mock.rakumod +++ b/lib/Red/Driver/Mock.rakumod @@ -132,7 +132,7 @@ method verify { #is test-assertion { for %!when-re.kv -> Regex $re, % (:$counter = 0, :$times, |) { ok ($times == Inf or $counter == $times), - "Query that matches '$re.perl()' should be called $times times and was called $counter time(s)"; + "Query that matches '$re.raku()' should be called $times times and was called $counter time(s)"; } }, "Red Mock verify" } diff --git a/lib/Red/Model.rakumod b/lib/Red/Model.rakumod index 5f0e114a..ab24ba23 100644 --- a/lib/Red/Model.rakumod +++ b/lib/Red/Model.rakumod @@ -8,11 +8,9 @@ unit role Red::Model; has $!filter; #method gist { self.^attributes; #`{self.perl} } -multi method perl(::?CLASS:D:) { self.raku } - multi method raku(::?CLASS:D:) { my @attrs = self.^attributes.grep({ !.^can("relationship-ast") && .has_accessor}).map: { - "{ .name.substr(2) } => { .get_value(self).perl }" + "{ .name.substr(2) } => { .get_value(self).raku }" } "{ self.^name }.new({ @attrs.join: ", " })" } diff --git a/lib/Red/Traits.rakumod b/lib/Red/Traits.rakumod index 51ef17dc..a92a3248 100644 --- a/lib/Red/Traits.rakumod +++ b/lib/Red/Traits.rakumod @@ -151,7 +151,7 @@ multi trait_mod:(Attribute $attr, :$referencing! (Str :$model!, Str :$column #| Trait that defines a reference receiving a code block, a model type object and an optional nullable. multi trait_mod:(Attribute $attr, :$referencing! (&referencing!, Mu:U :$model!, Bool :$nullable = True, *%rest ) --> Empty) is export { - $model.^add_role: Red::Model; + # $model.^add_role: Red::Model; trait_mod:($attr, :column{ :$nullable, :references(&referencing), model-type => $model, |%rest }) } diff --git a/lib/X/Red/Exceptions.rakumod b/lib/X/Red/Exceptions.rakumod index 5a6cf8d3..1dfb05fd 100644 --- a/lib/X/Red/Exceptions.rakumod +++ b/lib/X/Red/Exceptions.rakumod @@ -89,7 +89,7 @@ class X::Red::Driver::Mapped::UnknownError is X::Red::Driver::Mapped { Unknown Error!!! Please, copy this backtrace and open an issue on https://github.com/FCO/Red/issues/new Driver: { $.driver } - Original error: { $.orig-exception.perl } + Original error: { $.orig-exception.raku } END } } diff --git a/t/01-tdd.rakutest b/t/01-tdd.rakutest index 8f46f774..e226db8e 100644 --- a/t/01-tdd.rakutest +++ b/t/01-tdd.rakutest @@ -108,73 +108,73 @@ given model { use Red::AST; my $a = 42; is - (.a == 42).perl, - Red::AST::Eq.new(Red::AST::Cast.new(.a, "num"), ast-value(42)).perl + (.a == 42).raku, + Red::AST::Eq.new(Red::AST::Cast.new(.a, "num"), ast-value(42)).raku ; is - (42 == .a).perl, - Red::AST::Eq.new(ast-value(42), Red::AST::Cast.new(.a, "num")).perl + (42 == .a).raku, + Red::AST::Eq.new(ast-value(42), Red::AST::Cast.new(.a, "num")).raku ; is - (.a == $a).perl, - Red::AST::Eq.new(Red::AST::Cast.new(.a, "num"), ast-value(42), :bind-right).perl + (.a == $a).raku, + Red::AST::Eq.new(Red::AST::Cast.new(.a, "num"), ast-value(42), :bind-right).raku ; is - ($a == .a).perl, - Red::AST::Eq.new(ast-value(42), Red::AST::Cast.new(.a, "num"), :bind-left).perl + ($a == .a).raku, + Red::AST::Eq.new(ast-value(42), Red::AST::Cast.new(.a, "num"), :bind-left).raku ; is - (.a != 42).perl, - Red::AST::Ne.new(Red::AST::Cast.new(.a, "num"), ast-value(42)).perl + (.a != 42).raku, + Red::AST::Ne.new(Red::AST::Cast.new(.a, "num"), ast-value(42)).raku ; is - (42 != .a).perl, - Red::AST::Ne.new(ast-value(42), Red::AST::Cast.new(.a, "num")).perl + (42 != .a).raku, + Red::AST::Ne.new(ast-value(42), Red::AST::Cast.new(.a, "num")).raku ; is - (.a != $a).perl, - Red::AST::Ne.new(Red::AST::Cast.new(.a, "num"), ast-value(42), :bind-right).perl + (.a != $a).raku, + Red::AST::Ne.new(Red::AST::Cast.new(.a, "num"), ast-value(42), :bind-right).raku ; is - ($a != .a).perl, - Red::AST::Ne.new(ast-value(42), Red::AST::Cast.new(.a, "num"), :bind-left).perl + ($a != .a).raku, + Red::AST::Ne.new(ast-value(42), Red::AST::Cast.new(.a, "num"), :bind-left).raku ; my $b = "lorem ipsum"; is - (.a eq "lorem ipsum").perl, - Red::AST::Eq.new(Red::AST::Cast.new(.a, "str"), ast-value("lorem ipsum")).perl + (.a eq "lorem ipsum").raku, + Red::AST::Eq.new(Red::AST::Cast.new(.a, "str"), ast-value("lorem ipsum")).raku ; is - ("lorem ipsum" eq .a).perl, - Red::AST::Eq.new(ast-value("lorem ipsum"), Red::AST::Cast.new(.a, "str")).perl + ("lorem ipsum" eq .a).raku, + Red::AST::Eq.new(ast-value("lorem ipsum"), Red::AST::Cast.new(.a, "str")).raku ; is - (.a eq $b).perl, - Red::AST::Eq.new(Red::AST::Cast.new(.a, "str"), ast-value("lorem ipsum"), :bind-right).perl + (.a eq $b).raku, + Red::AST::Eq.new(Red::AST::Cast.new(.a, "str"), ast-value("lorem ipsum"), :bind-right).raku ; is - ($b eq .a).perl, - Red::AST::Eq.new(ast-value("lorem ipsum"), Red::AST::Cast.new(.a, "str"), :bind-left).perl + ($b eq .a).raku, + Red::AST::Eq.new(ast-value("lorem ipsum"), Red::AST::Cast.new(.a, "str"), :bind-left).raku ; is - (.a ne "lorem ipsum").perl, - Red::AST::Ne.new(Red::AST::Cast.new(.a, "str"), ast-value("lorem ipsum")).perl + (.a ne "lorem ipsum").raku, + Red::AST::Ne.new(Red::AST::Cast.new(.a, "str"), ast-value("lorem ipsum")).raku ; is - ("lorem ipsum" ne .a).perl, - Red::AST::Ne.new(ast-value("lorem ipsum"), Red::AST::Cast.new(.a, "str")).perl + ("lorem ipsum" ne .a).raku, + Red::AST::Ne.new(ast-value("lorem ipsum"), Red::AST::Cast.new(.a, "str")).raku ; is - (.a ne $b).perl, - Red::AST::Ne.new(Red::AST::Cast.new(.a, "str"), ast-value("lorem ipsum"), :bind-right).perl + (.a ne $b).raku, + Red::AST::Ne.new(Red::AST::Cast.new(.a, "str"), ast-value("lorem ipsum"), :bind-right).raku ; is - ($b ne .a).perl, - Red::AST::Ne.new(ast-value("lorem ipsum"), Red::AST::Cast.new(.a, "str"), :bind-left).perl + ($b ne .a).raku, + Red::AST::Ne.new(ast-value("lorem ipsum"), Red::AST::Cast.new(.a, "str"), :bind-left).raku ; } @@ -352,7 +352,7 @@ isa-ok Person2.posts.do-it.head, Post2; my $seq = Person2.posts.map: *.id; isa-ok $seq, Post2::ResultSeq; #isa-ok $seq.head, Int; -is $seq.filter.perl, Person2.posts.filter.perl; +is $seq.filter.raku, Person2.posts.filter.raku; given my model { has Int $.int-u is column{ :id }; diff --git a/t/17-pp.rakutest b/t/17-pp.rakutest index 583940a9..e405ffac 100644 --- a/t/17-pp.rakutest +++ b/t/17-pp.rakutest @@ -19,5 +19,5 @@ my $two = $zub.foos.create( bar => "two" ); $zub.default-foo = $one; $zub.^save; -lives-ok { [ $one, $two ].perl } +lives-ok { [ $one, $two ].raku } done-testing; From 29d3760abdc61aae353d610030a4496be02f4bd4 Mon Sep 17 00:00:00 2001 From: Fernando Correa de Oliveira Date: Sat, 22 Aug 2026 10:10:20 +0100 Subject: [PATCH 2/2] Do not run ecosystem test --- .github/workflows/ecosystem.yml | 4 ++-- README.md | 2 +- lib/Red.rakumod | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ecosystem.yml b/.github/workflows/ecosystem.yml index c63345b2..c1450298 100644 --- a/.github/workflows/ecosystem.yml +++ b/.github/workflows/ecosystem.yml @@ -1,7 +1,7 @@ name: ecosystem -on: - - push +# on: +# - push jobs: perl6: diff --git a/README.md b/README.md index b9206be7..23ece2bc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Build Status](https://github.com/FCO/Red/workflows/test/badge.svg)](https://github.com/FCO/Red/actions) [![Build Status](https://github.com/FCO/Red/workflows/ecosystem/badge.svg)](https://github.com/FCO/Red/actions) [![SparrowCI](https://ci.sparrowhub.io/project/gh-FCO-Red/badge)](https://ci.sparrowhub.io) +[![Build Status](https://github.com/FCO/Red/workflows/test/badge.svg)](https://github.com/FCO/Red/actions) [![SparrowCI](https://ci.sparrowhub.io/project/gh-FCO-Red/badge)](https://ci.sparrowhub.io) Red === diff --git a/lib/Red.rakumod b/lib/Red.rakumod index 58383944..cb4bdc39 100644 --- a/lib/Red.rakumod +++ b/lib/Red.rakumod @@ -146,7 +146,6 @@ multi EXPORT(+@experimentals) { =begin pod [![Build Status](https://github.com/FCO/Red/workflows/test/badge.svg)](https://github.com/FCO/Red/actions) -[![Build Status](https://github.com/FCO/Red/workflows/ecosystem/badge.svg)](https://github.com/FCO/Red/actions) [![SparrowCI](https://ci.sparrowhub.io/project/gh-FCO-Red/badge)](https://ci.sparrowhub.io) =begin head1