Lines 17-24
package Koha::Objects;
Link Here
|
17 |
# with Koha; if not, write to the Free Software Foundation, Inc., |
17 |
# with Koha; if not, write to the Free Software Foundation, Inc., |
18 |
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
18 |
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
19 |
|
19 |
|
20 |
use overload "0+" => "count", "<>" => "next", fallback => 1; |
|
|
21 |
|
22 |
use Modern::Perl; |
20 |
use Modern::Perl; |
23 |
|
21 |
|
24 |
use Carp; |
22 |
use Carp; |
Lines 59-71
sub new {
Link Here
|
59 |
bless( $self, $class ); |
57 |
bless( $self, $class ); |
60 |
} |
58 |
} |
61 |
|
59 |
|
62 |
=head3 Koha::Objects->new_from_dbic(); |
60 |
=head3 Koha::Objects->_new_from_dbic(); |
63 |
|
61 |
|
64 |
my $object = Koha::Objects->new_from_dbic( $resultset ); |
62 |
my $object = Koha::Objects->_new_from_dbic( $resultset ); |
65 |
|
63 |
|
66 |
=cut |
64 |
=cut |
67 |
|
65 |
|
68 |
sub new_from_dbic { |
66 |
sub _new_from_dbic { |
69 |
my ( $class, $resultset ) = @_; |
67 |
my ( $class, $resultset ) = @_; |
70 |
my $self = { _resultset => $resultset }; |
68 |
my $self = { _resultset => $resultset }; |
71 |
|
69 |
|
Lines 84-90
sub find {
Link Here
|
84 |
|
82 |
|
85 |
my $result = $self->_resultset()->find($id); |
83 |
my $result = $self->_resultset()->find($id); |
86 |
|
84 |
|
87 |
my $object = $self->object_class()->new_from_dbic( $result ); |
85 |
my $object = $self->object_class()->_new_from_dbic( $result ); |
88 |
|
86 |
|
89 |
return $object; |
87 |
return $object; |
90 |
} |
88 |
} |
Lines 108-114
sub search {
Link Here
|
108 |
my $class = ref($self) ? ref($self) : $self; |
106 |
my $class = ref($self) ? ref($self) : $self; |
109 |
my $rs = $self->_resultset()->search($params); |
107 |
my $rs = $self->_resultset()->search($params); |
110 |
|
108 |
|
111 |
return $class->new_from_dbic($rs); |
109 |
return $class->_new_from_dbic($rs); |
112 |
} |
110 |
} |
113 |
} |
111 |
} |
114 |
|
112 |
|
Lines 126-132
sub count {
Link Here
|
126 |
|
124 |
|
127 |
=head3 Koha::Objects->next(); |
125 |
=head3 Koha::Objects->next(); |
128 |
|
126 |
|
129 |
my $object = Koha::Object->next(); |
127 |
my $object = Koha::Objects->next(); |
130 |
|
128 |
|
131 |
Returns the next object that is part of this set. |
129 |
Returns the next object that is part of this set. |
132 |
Returns undef if there are no more objects to return. |
130 |
Returns undef if there are no more objects to return. |
Lines 134-145
Returns undef if there are no more objects to return.
Link Here
|
134 |
=cut |
132 |
=cut |
135 |
|
133 |
|
136 |
sub next { |
134 |
sub next { |
137 |
my ( $self, $id ) = @_; |
135 |
my ( $self ) = @_; |
138 |
|
136 |
|
139 |
my $result = $self->_resultset()->next(); |
137 |
my $result = $self->_resultset()->next(); |
140 |
return unless $result; |
138 |
return unless $result; |
141 |
|
139 |
|
142 |
my $object = $self->object_class()->new_from_dbic( $result ); |
140 |
my $object = $self->object_class()->_new_from_dbic( $result ); |
143 |
|
141 |
|
144 |
return $object; |
142 |
return $object; |
145 |
} |
143 |
} |
Lines 154-160
with the first object in a set.
Link Here
|
154 |
=cut |
152 |
=cut |
155 |
|
153 |
|
156 |
sub reset { |
154 |
sub reset { |
157 |
my ( $self, $id ) = @_; |
155 |
my ( $self ) = @_; |
158 |
|
156 |
|
159 |
$self->_resultset()->reset(); |
157 |
$self->_resultset()->reset(); |
160 |
|
158 |
|
Lines 170-176
Returns an arrayref of the objects in this set.
Link Here
|
170 |
=cut |
168 |
=cut |
171 |
|
169 |
|
172 |
sub as_list { |
170 |
sub as_list { |
173 |
my ( $self, $id ) = @_; |
171 |
my ( $self ) = @_; |
174 |
|
172 |
|
175 |
my @dbic_rows = $self->_resultset()->all(); |
173 |
my @dbic_rows = $self->_resultset()->all(); |
176 |
|
174 |
|
Lines 181-194
sub as_list {
Link Here
|
181 |
|
179 |
|
182 |
=head3 Koha::Objects->_wrap |
180 |
=head3 Koha::Objects->_wrap |
183 |
|
181 |
|
184 |
wraps the DBIC object in a corrosponding Koha object |
182 |
wraps the DBIC object in a corresponding Koha object |
185 |
|
183 |
|
186 |
=cut |
184 |
=cut |
187 |
|
185 |
|
188 |
sub _wrap { |
186 |
sub _wrap { |
189 |
my ( $self, @dbic_rows ) = @_; |
187 |
my ( $self, @dbic_rows ) = @_; |
190 |
|
188 |
|
191 |
my @objects = map { $self->object_class()->new_from_dbic( $_ ) } @dbic_rows; |
189 |
my @objects = map { $self->object_class()->_new_from_dbic( $_ ) } @dbic_rows; |
192 |
|
190 |
|
193 |
return @objects; |
191 |
return @objects; |
194 |
} |
192 |
} |