Module: Ballot

Defined in:
lib/ballot.rb,
lib/ballot/vote.rb,
lib/ballot/voter.rb,
lib/ballot/words.rb,
lib/ballot/sequel.rb,
lib/ballot/railtie.rb,
lib/ballot/votable.rb,
lib/generators/ballot.rb,
lib/ballot/sequel/vote.rb,
lib/ballot/active_record.rb,
lib/ballot/action_controller.rb,
lib/ballot/active_record/vote.rb,
lib/ballot/active_record/voter.rb,
lib/ballot/active_record/votable.rb,
lib/generators/ballot/standalone.rb,
lib/generators/ballot/install/install_generator.rb,
lib/generators/ballot/summary/summary_generator.rb

Overview

Ballot provides a two-way polymorphic scoped voting mechanism for both ActiveRecord (4 or later) and Sequel (4 or later).

  • Two-way polymorphic: any model can be a voter or a votable.

  • Scoped: multiple votes can be recorded for a votable, under different scopes.

The API for Ballot is consistent across both supported ORMs.

Defined Under Namespace

Modules: ActionController, ActiveRecord, Generators, Sequel, Votable, Voter, Words Classes: Railtie, Vote

Constant Summary collapse

VERSION =

:nodoc:

'1.0'

Class Method Summary collapse

Class Method Details

.VoteObject



121
122
123
124
125
126
127
# File 'lib/ballot/vote.rb', line 121

def self.Vote # :nodoc:
  if defined?(Ballot::Sequel::Vote) && !defined?(Ballot::ActiveRecord::Vote)
    Ballot::Sequel::Vote
  elsif defined?(Ballot::ActiveRecord::Vote)
    Ballot::ActiveRecord::Vote
  end
end