1 package Common
::RDBO
::Helpers
;
6 use Rose
::Object
::MixIn
();
7 our @ISA = qw(Rose::Object::MixIn);
9 use Hash
::Merge
'merge';
11 __PACKAGE__
->export_tag(
13 qw
/ get_prev_objects get_next_objects get_master_object /
17 sub get_prev_objects
{
21 my $manager = delete $args{ manager
} || $self->meta->class . '::Manager';
23 my $column = delete $args{ column
};
24 warn 'no column' and return unless $column;
26 warn 'column does not exist' and return
27 unless grep { $_ eq $column } @
{ $self->meta->column_names };
30 query
=> [ $column => { lt => $self->$column } ],
31 sort_by
=> "$column DESC",
35 return $manager->get_objects( object_class
=> $self->meta->class, %$cond );
38 sub get_next_objects
{
42 my $manager = delete $args{ manager
} || $self->meta->class . '::Manager';
44 my $column = delete $args{ column
};
45 warn 'no column' and return unless $column;
47 warn 'column does not exist' and return
48 unless grep { $_ eq $column } @
{ $self->meta->column_names };
51 query
=> [ $column => { gt => $self->$column } ],
52 sort_by
=> "$column ASC",
56 return $manager->get_objects( object_class
=> $self->meta->class, %$cond );
59 sub get_master_object
{
62 if ( $self->can( 'type' ) ) {
63 my $type = $self->type;
67 #grep { $_->type eq 'many to one' } $self->meta->relationships;
70 #my $master = $rel->name;
72 #return $self->$master;