Sha256: 0794035e610f17384986f202438c4b4137f428c48fe3ff79751cccf89d0947c4
Contents?: true
Size: 1.41 KB
Versions: 4
Compression:
Stored size: 1.41 KB
Contents
module Rostra class Question < ActiveRecord::Base belongs_to :user has_many :answers, :dependent => :destroy has_many :question_followings, :dependent => :destroy has_many :followers, through: :question_followings, source: :user has_many :notified_followers, through: :question_followings, source: :user, conditions: { 'rostra_question_followings.send_email_notifications' => true } acts_as_taggable acts_as_voteable is_impressionable counter_cache: { unique: true } validates :title, :presence => true, :uniqueness => true, :length => { :minimum => 15 } validates :user, :presence => true validates :tag_list, :presence => true before_save :create_question_following attr_accessor :follow_by_email # Set number of questions per page for will paginate # paginates_per Rostra::Config.number_of_question_per_page # Finds questions asked within the last 15 days ordered by non-unique page views. # def self.trending(limit = 5) Question.where(created_at: (15.days.ago)..(Time.now)).limit(limit).order('impressions_count desc') end def answer_count @answer_count = answers.count end def unique_page_views impressionist_count(filter: :ip_address) end private def create_question_following opted_not_to_follow = follow_by_email.to_i.zero? followers << user unless opted_not_to_follow end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
rostra-0.1.18 | app/models/rostra/question.rb |
rostra-0.1.17 | app/models/rostra/question.rb |
rostra-0.1.16 | app/models/rostra/question.rb |
rostra-0.1.15 | app/models/rostra/question.rb |