| ... | ... |
@@ -1,4 +1,6 @@ |
| 1 | 1 |
0.1722 |
| 2 |
+ - added {KEY => sub { VALUE }} syntax
|
|
| 3 |
+ to EXPERIMETNAL DBIx::Custom::Mapper map method |
|
| 2 | 4 |
- removed EXPERIMENTAL wrap option from select method |
| 3 | 5 |
- insert_param, update_param, and assign param can |
| 4 | 6 |
be wrapeed by DB function by C<wrap> option |
| ... | ... |
@@ -29,6 +29,7 @@ sub map {
|
| 29 | 29 |
my $new_key; |
| 30 | 30 |
|
| 31 | 31 |
# Get mapping information |
| 32 |
+ $rule{$key} = [$key, $rule{$key}] if ref $rule{$key} eq 'CODE';
|
|
| 32 | 33 |
if (ref $rule{$key} eq 'ARRAY') {
|
| 33 | 34 |
foreach my $some (@{$rule{$key}}) {
|
| 34 | 35 |
$new_key = $some unless ref $some; |
| ... | ... |
@@ -2663,6 +2663,11 @@ $param = $dbi->mapper(param => {price => 'a'}, condition => 'exists')->map(
|
| 2663 | 2663 |
); |
| 2664 | 2664 |
is_deeply($param, {"$table1.price" => '%a'});
|
| 2665 | 2665 |
|
| 2666 |
+$param = $dbi->mapper(param => {price => 'a'})->map(
|
|
| 2667 |
+ price => sub { '%' . $_[0] }
|
|
| 2668 |
+); |
|
| 2669 |
+is_deeply($param, {price => '%a'});
|
|
| 2670 |
+ |
|
| 2666 | 2671 |
eval { $dbi->execute("drop table $table1") };
|
| 2667 | 2672 |
$dbi->execute($create_table1); |
| 2668 | 2673 |
$dbi->insert(table => $table1, param => {$key1 => 1, $key2 => 2});
|