Commit | Line | Data |
d605d949 |
1 | use strictures; |
2 | use Data::Query::ExprDeclare; |
3 | use Data::Query::Renderer::SQL::Naive; |
4 | use Moo::Role (); |
5 | |
6 | my $renderer; |
7 | |
8 | sub make_renderer { |
9 | my $class = do { |
10 | if ($_[0]) { |
11 | Moo::Role->create_class_with_roles( |
12 | 'Data::Query::Renderer::SQL::Naive', |
13 | "Data::Query::Renderer::SQL::Slice::$_[0]" |
14 | ) |
15 | } else { |
16 | 'Data::Query::Renderer::SQL::Naive' |
17 | } |
18 | }; |
19 | $renderer = $class->new; |
20 | } |
21 | |
22 | sub to_sql { |
23 | my ($sql, @bindp) = @{$renderer->render($_[0])}; |
24 | ($sql, map $_->{value}, @bindp); |
25 | } |
26 | |
27 | 1; |