Class: SpreeCmCommissioner::UserVotesPerContestantQuery
- Inherits:
-
Object
- Object
- SpreeCmCommissioner::UserVotesPerContestantQuery
- Defined in:
- app/queries/spree_cm_commissioner/user_votes_per_contestant_query.rb
Instance Attribute Summary collapse
-
#user ⇒ Object
readonly
Returns the value of attribute user.
-
#voting_session ⇒ Object
readonly
Returns the value of attribute voting_session.
Instance Method Summary collapse
- #contestants ⇒ Object
-
#initialize(user:, voting_session:) ⇒ UserVotesPerContestantQuery
constructor
A new instance of UserVotesPerContestantQuery.
Constructor Details
#initialize(user:, voting_session:) ⇒ UserVotesPerContestantQuery
Returns a new instance of UserVotesPerContestantQuery.
21 22 23 24 |
# File 'app/queries/spree_cm_commissioner/user_votes_per_contestant_query.rb', line 21 def initialize(user:, voting_session:) @user = user @voting_session = voting_session end |
Instance Attribute Details
#user ⇒ Object (readonly)
Returns the value of attribute user.
19 20 21 |
# File 'app/queries/spree_cm_commissioner/user_votes_per_contestant_query.rb', line 19 def user @user end |
#voting_session ⇒ Object (readonly)
Returns the value of attribute voting_session.
19 20 21 |
# File 'app/queries/spree_cm_commissioner/user_votes_per_contestant_query.rb', line 19 def voting_session @voting_session end |
Instance Method Details
#contestants ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'app/queries/spree_cm_commissioner/user_votes_per_contestant_query.rb', line 26 def contestants return SpreeCmCommissioner::VotingContestant.none if user.nil? || voting_session.nil? voting_session.voting_contestants .includes(:show_contestant) .select('cm_voting_contestants.*, COALESCE(user_votes.total_quantity, 0) AS my_vote_count') .joins( "LEFT JOIN (#{user_votes_subquery.to_sql}) user_votes " \ 'ON user_votes.contestant_id = cm_voting_contestants.id' ) .order(:vote_number) end |