Sha256: 40ebed7bdb6a01cb226180698426e887a6deccc3042e5eaa23ac52c55526e128
Contents?: true
Size: 1.71 KB
Versions: 4
Compression:
Stored size: 1.71 KB
Contents
class Question < ActiveRecord::Base default_scope { order('id DESC') } scope :public_questions, -> {where(shared: true)} scope :private_questions, -> {where(shared: false)} scope :solved, -> {where(solved: true)} scope :unsolved, -> {where(solved: false)} belongs_to :user, validate: true has_many :answers, dependent: :destroy validates_associated :user validates_presence_of :user, :body searchable do text :body, :answer_body string :username time :created_at time :updated_at do last_updated_at end boolean :shared boolean :solved integer :answers_count integer :manifestation_id, multiple: true do answers.collect(&:items).flatten.collect{|i| i.manifestation.id} end end acts_as_taggable_on :tags enju_ndl_crd paginates_per 10 def self.crd_per_page 5 end def answer_body text = "" self.reload self.answers.each do |answer| text += answer.body end return text end def username self.user.try(:username) end def last_updated_at if answers.last time = answers.last.updated_at end if time if time > updated_at time else updated_at end else updated_at end end end # == Schema Information # # Table name: questions # # id :integer not null, primary key # user_id :integer not null # body :text # shared :boolean default(TRUE), not null # answers_count :integer default(0), not null # deleted_at :datetime # state :string # solved :boolean default(FALSE), not null # note :text # created_at :datetime # updated_at :datetime #
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
enju_question-0.3.2 | app/models/question.rb |
enju_question-0.3.1 | app/models/question.rb |
enju_question-0.3.0 | app/models/question.rb |
enju_question-0.3.0.beta.1 | app/models/question.rb |