Sha256: 7a970b5b6fa9771a6840e9a0dd44de074597ca7a49c1cef4cdfcb929c4c7f0e2

Contents?: true

Size: 1.02 KB

Versions: 5

Compression:

Stored size: 1.02 KB

Contents

module Merit::Models::ActiveRecord
  class QalamScore < ActiveRecord::Base
    self.table_name = :merit_scores
    belongs_to :sash,
              foreign_key: "sash_id", 
              class_name: 'Merit::Sash'
    has_many :score_points,
              dependent: :destroy,
              foreign_key: "score_id",
              class_name: 'Merit::QalamScore::Point'

    def points
      score_points.group(:score_id).sum(:num_points).values.first || 0
    end

    class Point < ActiveRecord::Base
      self.table_name = :merit_score_points
      belongs_to :score, 
                  foreign_key: "score_id", 
                  class_name: 'Merit::QalamScore'
      has_one :sash, through: :score, source: :sash
      has_many :activity_logs,
               class_name: 'Merit::ActivityLog',
               as: :related_change
      delegate :sash_id, to: :score
    end
  end
end

class Merit::QalamScore < Merit::Models::ActiveRecord::QalamScore; end
class Merit::QalamScore::Point < Merit::Models::ActiveRecord::QalamScore::Point; end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
qalam_merit-4.5.09 lib/merit/models/active_record/qalam_score.rb
qalam_merit-4.5.08 lib/merit/models/active_record/qalam_score.rb
qalam_merit-4.5.07 lib/merit/models/active_record/qalam_score.rb
qalam_merit-4.5.06 lib/merit/models/active_record/qalam_score.rb
qalam_merit-4.5.05 lib/merit/models/active_record/qalam_score.rb