1 package SQL::Abstract::Plugin::BangOverrides;
5 with 'SQL::Abstract::Role::Plugin';
7 sub register_extensions {
8 my ($self, $sqla) = @_;
9 foreach my $stmt ($sqla->statement_list) {
10 $sqla->wrap_expander($stmt => sub ($orig) {
12 my ($self, $name, $args) = @_;
14 foreach my $clause (map /^!(.*)$/, keys %args) {
15 my $override = delete $args{"!${clause}"};
17 ref($override) eq 'CODE'
18 ? $override->($args{$clause})
22 $self->$orig($name, \%args);