if (my ($rest) = $k =~/^-not[_ ](.*)$/) {
return $self->_expand_expr({ -not => { "-${rest}", $v } }, $logic);
}
+ if (my ($logic) = $k =~ /^-(and|or)$/) {
+ if (ref($v) eq 'HASH') {
+ return $self->_expand_expr($v, $logic);
+ }
+ }
} else {
unless (defined($v)) {
my $orig_op = my $op = $self->{cmp};
[ foo => "bar", $lhs => \["baz"], bizz => "buzz" ],
[ $lhs => \"baz" ],
[ $lhs => \["baz"] ],
-
- # except for this one, that is automagically arrayified
- { foo => "bar", -or => { $lhs => \"baz" }, bizz => "buzz" },
) {
push @tests, {
func => 'where',
## deprecations - sorta worked, likely abused by folks
for my $where_arg (
# the arrayref forms of this never worked and throw above
+ { foo => "bar", -or => { $lhs => \"baz" }, bizz => "buzz" },
{ foo => "bar", -and => { $lhs => \"baz" }, bizz => "buzz" },
{ foo => "bar", $lhs => \"baz", bizz => "buzz" },
{ foo => "bar", $lhs => \["baz"], bizz => "buzz" },