Sha256: 0c611172dc16baf9c3e94b10eb55cefda893317adb6fd4097fc005dea95d252b
Contents?: true
Size: 1.8 KB
Versions: 3
Compression:
Stored size: 1.8 KB
Contents
# -*- encoding: utf-8 -*- require 'timeout' class Question < ActiveRecord::Base attr_accessible :body, :shared, :solved, :note 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 # created_at :datetime # updated_at :datetime # deleted_at :datetime # state :string(255) # solved :boolean default(FALSE), not null # note :text #
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
enju_question-0.1.0.pre3 | app/models/question.rb |
enju_question-0.1.0.pre2 | app/models/question.rb |
enju_question-0.1.0.pre | app/models/question.rb |