Sha256: b67a2c53d26eb835d3306493ff57eed8a34200f5d73cddefe5596c7b363925b0

Contents?: true

Size: 897 Bytes

Versions: 4

Compression:

Stored size: 897 Bytes

Contents

module Dorsale
  module Flyboy
    class 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_attributes!(
          :progress => progress,
          :done     => progress.equal?(100)
        )
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dorsale-3.0.3 app/models/dorsale/flyboy/task_comment.rb
dorsale-3.0.2 app/models/dorsale/flyboy/task_comment.rb
dorsale-3.0.1 app/models/dorsale/flyboy/task_comment.rb
dorsale-3.0.0 app/models/dorsale/flyboy/task_comment.rb