Sha256: 9f70667565cac390fd060014eda81594d243c40409352be04cb3f676a90fcb8b

Contents?: true

Size: 762 Bytes

Versions: 7

Compression:

Stored size: 762 Bytes

Contents

class Dorsale::Flyboy::TaskComment < ActiveRecord::Base
  self.table_name = "dorsale_flyboy_task_comments"

  belongs_to :task
  belongs_to :author, polymorphic: true

  validates :author,      presence: true
  validates :task,        presence: true
  validates :date,        presence: true
  validates :description, presence: true
  validates :progress,    inclusion: {in: 0..100}

  default_scope -> { order("created_at DESC") }

  def initialize(*args)
    super

    self.date = Time.zone.now if date.nil?

    if progress.nil?
      self.progress = task ? task.progress : 0
    end
  end

  after_create :update_task_progress

  def update_task_progress
    task.update!(
      :progress => progress,
      :done     => progress.equal?(100)
    )
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
dorsale-3.1.6 app/models/dorsale/flyboy/task_comment.rb
dorsale-3.1.5 app/models/dorsale/flyboy/task_comment.rb
dorsale-3.1.4 app/models/dorsale/flyboy/task_comment.rb
dorsale-3.1.3 app/models/dorsale/flyboy/task_comment.rb
dorsale-3.1.2 app/models/dorsale/flyboy/task_comment.rb
dorsale-3.1.1 app/models/dorsale/flyboy/task_comment.rb
dorsale-3.1.0 app/models/dorsale/flyboy/task_comment.rb