svn commit: r264591 - user/des/fbp/lib/FBP/Schema/Result

Dag-Erling Smørgrav des at FreeBSD.org
Thu Apr 17 11:48:35 UTC 2014


Author: des
Date: Thu Apr 17 11:48:34 2014
New Revision: 264591
URL: http://svnweb.freebsd.org/changeset/base/264591

Log:
  Add accessors for indirect relationships.

Modified:
  user/des/fbp/lib/FBP/Schema/Result/Poll.pm
  user/des/fbp/lib/FBP/Schema/Result/Vote.pm

Modified: user/des/fbp/lib/FBP/Schema/Result/Poll.pm
==============================================================================
--- user/des/fbp/lib/FBP/Schema/Result/Poll.pm	Thu Apr 17 10:53:10 2014	(r264590)
+++ user/des/fbp/lib/FBP/Schema/Result/Poll.pm	Thu Apr 17 11:48:34 2014	(r264591)
@@ -181,6 +181,31 @@ sub active($;$) {
 	DateTime->compare($when, $self->ends) <= 0;
 }
 
+=head2 votes
+
+Return votes cast in this poll.  In list context, returns a list of
+votes.  In scalar context, returns a resultset.
+
+=cut
+
+sub votes($) {
+    my ($self) = @_;
+
+    return wantarray() ? $self->votes_rs->all : $self->votes_rs;
+}
+
+=head2 votes_rs
+
+Return votes cast in this poll as a resultset.
+
+=cut
+
+sub votes_rs($) {
+    my ($self) = @_;
+
+    return $self->questions->search_related_rs('votes');
+}
+
 =head2 validate_answer
 
 Validates an answer to this poll and dies if it is not valid.
@@ -207,6 +232,12 @@ sub validate_answer($%) {
     }
 }
 
+=head2 commit_answer
+
+Commits an answer to this poll.
+
+=cut
+
 sub commit_answer($$%) {
     my ($self, $voter, %answers) = @_;
 

Modified: user/des/fbp/lib/FBP/Schema/Result/Vote.pm
==============================================================================
--- user/des/fbp/lib/FBP/Schema/Result/Vote.pm	Thu Apr 17 10:53:10 2014	(r264590)
+++ user/des/fbp/lib/FBP/Schema/Result/Vote.pm	Thu Apr 17 11:48:34 2014	(r264591)
@@ -160,6 +160,18 @@ __PACKAGE__->belongs_to(
 # Created by DBIx::Class::Schema::Loader v0.07039 @ 2014-04-16 20:57:55
 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:TIV5w+lodXu0vgk/zqosbA
 
+=head2 poll
+
+Returns the poll in which this vote was cast.
+
+=cut
+
+sub poll($) {
+    my ($self) = @_;
+
+    return $self->question->poll;
+}
+
 =head1 AUTHOR
 
 Dag-Erling Smørgrav <des at freebsd.org>


More information about the svn-src-user mailing list