Sha256: 19e880fdb42a298a6a4dc55403d00429fa1ae38f46c0cfbf5dc9383a4e61d930
Contents?: true
Size: 1.74 KB
Versions: 3
Compression:
Stored size: 1.74 KB
Contents
# -*- encoding: utf-8 -*- 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
enju_question-0.2.0 | app/models/question.rb |
enju_question-0.2.0.beta.4 | app/models/question.rb |
enju_question-0.2.0.beta.3 | app/models/question.rb |