- method method of DBIx::Custom::Model is renamed...
...to helper,
... | ... |
@@ -1,4 +1,7 @@ |
1 | 1 |
0.1730 |
2 |
+ - method method of DBIx::Custom::Model is renamed to helper, |
|
3 |
+ method is DEPRECATED! |
|
4 |
+ - method method is renamed to helper, method is DEPRECATED! |
|
2 | 5 |
- insert method's id option is DEPRECATED! |
3 | 6 |
- fixed id option bug when column name is anbiguous |
4 | 7 |
0.1729 |
... | ... |
@@ -595,6 +595,16 @@ sub get_column_info { |
595 | 595 |
@$column_info]; |
596 | 596 |
} |
597 | 597 |
|
598 |
+sub helper { |
|
599 |
+ my $self = shift; |
|
600 |
+ |
|
601 |
+ # Register method |
|
602 |
+ my $methods = ref $_[0] eq 'HASH' ? $_[0] : {@_}; |
|
603 |
+ $self->{_methods} = {%{$self->{_methods} || {}}, %$methods}; |
|
604 |
+ |
|
605 |
+ return $self; |
|
606 |
+} |
|
607 |
+ |
|
598 | 608 |
sub insert { |
599 | 609 |
my $self = shift; |
600 | 610 |
|
... | ... |
@@ -646,32 +656,6 @@ sub insert { |
646 | 656 |
return $self->execute($sql, $param, table => $table, %args); |
647 | 657 |
} |
648 | 658 |
|
649 |
-sub values_clause { |
|
650 |
- my ($self, $param, $opts) = @_; |
|
651 |
- |
|
652 |
- my $wrap = $opts->{wrap} || {}; |
|
653 |
- |
|
654 |
- # Create insert parameter tag |
|
655 |
- my $safety = $self->safety_character; |
|
656 |
- my @columns; |
|
657 |
- my @placeholders; |
|
658 |
- foreach my $column (sort keys %$param) { |
|
659 |
- croak qq{"$column" is not safety column name } . _subname |
|
660 |
- unless $column =~ /^[$safety\.]+$/; |
|
661 |
- my $column_quote = $self->_q($column); |
|
662 |
- $column_quote =~ s/\./$self->_q(".")/e; |
|
663 |
- push @columns, $column_quote; |
|
664 |
- |
|
665 |
- my $func = $wrap->{$column} || sub { $_[0] }; |
|
666 |
- push @placeholders, |
|
667 |
- ref $param->{$column} eq 'SCALAR' ? ${$param->{$column}} |
|
668 |
- : $func->(":$column"); |
|
669 |
- } |
|
670 |
- |
|
671 |
- return '(' . join(', ', @columns) . ') ' . 'values ' . |
|
672 |
- '(' . join(', ', @placeholders) . ')' |
|
673 |
-} |
|
674 |
- |
|
675 | 659 |
sub insert_timestamp { |
676 | 660 |
my $self = shift; |
677 | 661 |
|
... | ... |
@@ -779,16 +763,6 @@ sub merge_param { |
779 | 763 |
return $merge; |
780 | 764 |
} |
781 | 765 |
|
782 |
-sub method { |
|
783 |
- my $self = shift; |
|
784 |
- |
|
785 |
- # Register method |
|
786 |
- my $methods = ref $_[0] eq 'HASH' ? $_[0] : {@_}; |
|
787 |
- $self->{_methods} = {%{$self->{_methods} || {}}, %$methods}; |
|
788 |
- |
|
789 |
- return $self; |
|
790 |
-} |
|
791 |
- |
|
792 | 766 |
sub model { |
793 | 767 |
my ($self, $name, $model) = @_; |
794 | 768 |
|
... | ... |
@@ -1192,6 +1166,32 @@ sub update_timestamp { |
1192 | 1166 |
return $self->{update_timestamp}; |
1193 | 1167 |
} |
1194 | 1168 |
|
1169 |
+sub values_clause { |
|
1170 |
+ my ($self, $param, $opts) = @_; |
|
1171 |
+ |
|
1172 |
+ my $wrap = $opts->{wrap} || {}; |
|
1173 |
+ |
|
1174 |
+ # Create insert parameter tag |
|
1175 |
+ my $safety = $self->safety_character; |
|
1176 |
+ my @columns; |
|
1177 |
+ my @placeholders; |
|
1178 |
+ foreach my $column (sort keys %$param) { |
|
1179 |
+ croak qq{"$column" is not safety column name } . _subname |
|
1180 |
+ unless $column =~ /^[$safety\.]+$/; |
|
1181 |
+ my $column_quote = $self->_q($column); |
|
1182 |
+ $column_quote =~ s/\./$self->_q(".")/e; |
|
1183 |
+ push @columns, $column_quote; |
|
1184 |
+ |
|
1185 |
+ my $func = $wrap->{$column} || sub { $_[0] }; |
|
1186 |
+ push @placeholders, |
|
1187 |
+ ref $param->{$column} eq 'SCALAR' ? ${$param->{$column}} |
|
1188 |
+ : $func->(":$column"); |
|
1189 |
+ } |
|
1190 |
+ |
|
1191 |
+ return '(' . join(', ', @columns) . ') ' . 'values ' . |
|
1192 |
+ '(' . join(', ', @placeholders) . ')' |
|
1193 |
+} |
|
1194 |
+ |
|
1195 | 1195 |
sub where { DBIx::Custom::Where->new(dbi => shift, @_) } |
1196 | 1196 |
|
1197 | 1197 |
sub _create_query { |
... | ... |
@@ -1678,6 +1678,11 @@ has default_dbi_option => sub { |
1678 | 1678 |
return shift->default_option; |
1679 | 1679 |
}; |
1680 | 1680 |
|
1681 |
+# DEPRECATED! |
|
1682 |
+sub method { |
|
1683 |
+ warn "method is DEPRECATED! use helper instead"; |
|
1684 |
+ return shift->helper(@_); |
|
1685 |
+} |
|
1681 | 1686 |
|
1682 | 1687 |
# DEPRECATED! |
1683 | 1688 |
sub assign_param { |
... | ... |
@@ -2930,9 +2935,9 @@ Merge parameters. |
2930 | 2935 |
|
2931 | 2936 |
{key1 => [1, 1], key2 => 2} |
2932 | 2937 |
|
2933 |
-=head2 C<method> |
|
2938 |
+=head2 C<helper> |
|
2934 | 2939 |
|
2935 |
- $dbi->method( |
|
2940 |
+ $dbi->helper( |
|
2936 | 2941 |
update_or_insert => sub { |
2937 | 2942 |
my $self = shift; |
2938 | 2943 |
|
... | ... |
@@ -2945,7 +2950,7 @@ Merge parameters. |
2945 | 2950 |
} |
2946 | 2951 |
); |
2947 | 2952 |
|
2948 |
-Register method. These method is called directly from L<DBIx::Custom> object. |
|
2953 |
+Register helper. These helper is called directly from L<DBIx::Custom> object. |
|
2949 | 2954 |
|
2950 | 2955 |
$dbi->update_or_insert; |
2951 | 2956 |
$dbi->find_or_create; |
... | ... |
@@ -3512,6 +3517,7 @@ L<DBIx::Custom> |
3512 | 3517 |
cache_method # will be removed at 2017/1/1 |
3513 | 3518 |
|
3514 | 3519 |
# Methods |
3520 |
+ method # will be removed at 2017/1/1 |
|
3515 | 3521 |
assign_param # will be removed at 2017/1/1 |
3516 | 3522 |
update_param # will be removed at 2017/1/1 |
3517 | 3523 |
insert_param # will be removed at 2017/1/1 |
... | ... |
@@ -3546,6 +3552,7 @@ L<DBIx::Custom> |
3546 | 3552 |
L<DBIx::Custom::Model> |
3547 | 3553 |
|
3548 | 3554 |
# Attribute methods |
3555 |
+ method # will be removed at 2017/1/1 |
|
3549 | 3556 |
filter # will be removed at 2017/1/1 |
3550 | 3557 |
name # will be removed at 2017/1/1 |
3551 | 3558 |
type # will be removed at 2017/1/1 |
... | ... |
@@ -75,7 +75,7 @@ sub execute { |
75 | 75 |
|
76 | 76 |
sub DESTROY { } |
77 | 77 |
|
78 |
-sub method { |
|
78 |
+sub helper { |
|
79 | 79 |
my $self = shift; |
80 | 80 |
|
81 | 81 |
# Merge |
... | ... |
@@ -114,6 +114,13 @@ has 'filter'; |
114 | 114 |
has 'name'; |
115 | 115 |
has type => sub { [] }; |
116 | 116 |
|
117 |
+ |
|
118 |
+# DEPRECATED! |
|
119 |
+sub method { |
|
120 |
+ warn "method method is DEPRECATED! use helper instead"; |
|
121 |
+ return shift->helper(@_); |
|
122 |
+} |
|
123 |
+ |
|
117 | 124 |
1; |
118 | 125 |
|
119 | 126 |
=head1 NAME |
... | ... |
@@ -210,9 +217,9 @@ you don't have to specify C<table> and C<primary_key> option. |
210 | 217 |
Same as C<insert> of L<DBIx::Custom> except that |
211 | 218 |
you don't have to specify C<table> and C<primary_key> option. |
212 | 219 |
|
213 |
-=head2 C<method> |
|
220 |
+=head2 C<helper> |
|
214 | 221 |
|
215 |
- $model->method( |
|
222 |
+ $model->helper( |
|
216 | 223 |
update_or_insert => sub { |
217 | 224 |
my $self = shift; |
218 | 225 |
|
... | ... |
@@ -224,7 +231,7 @@ you don't have to specify C<table> and C<primary_key> option. |
224 | 231 |
# ... |
225 | 232 |
); |
226 | 233 |
|
227 |
-Register method. These method is called directly from L<DBIx::Custom::Model> object. |
|
234 |
+Register helper. These helper is called directly from L<DBIx::Custom::Model> object. |
|
228 | 235 |
|
229 | 236 |
$model->update_or_insert; |
230 | 237 |
$model->find_or_create; |
... | ... |
@@ -1054,10 +1054,10 @@ ok($@, "execute fail"); |
1054 | 1054 |
} |
1055 | 1055 |
|
1056 | 1056 |
test 'method'; |
1057 |
-$dbi->method( |
|
1057 |
+$dbi->helper( |
|
1058 | 1058 |
one => sub { 1 } |
1059 | 1059 |
); |
1060 |
-$dbi->method( |
|
1060 |
+$dbi->helper( |
|
1061 | 1061 |
two => sub { 2 } |
1062 | 1062 |
); |
1063 | 1063 |
$dbi->method({ |
... | ... |
@@ -3267,6 +3267,17 @@ $model = $dbi->create_model( |
3267 | 3267 |
$model->method(foo => sub { shift->select(@_) }); |
3268 | 3268 |
is_deeply($model->foo->one, {$key1 => 1, $key3 => 3}); |
3269 | 3269 |
|
3270 |
+test 'model helper'; |
|
3271 |
+$dbi = DBIx::Custom->connect; |
|
3272 |
+eval { $dbi->execute("drop table $table2") }; |
|
3273 |
+$dbi->execute($create_table2); |
|
3274 |
+$dbi->insert(table => $table2, param => {$key1 => 1, $key3 => 3}); |
|
3275 |
+$model = $dbi->create_model( |
|
3276 |
+ table => $table2 |
|
3277 |
+); |
|
3278 |
+$model->helper(foo => sub { shift->select(@_) }); |
|
3279 |
+is_deeply($model->foo->one, {$key1 => 1, $key3 => 3}); |
|
3280 |
+ |
|
3270 | 3281 |
test 'assign_clause'; |
3271 | 3282 |
$dbi = DBIx::Custom->connect; |
3272 | 3283 |
eval { $dbi->execute("drop table $table1") }; |