Sha256: 78b8f6425bfd4fc82b1acd718f94393f0a14f633413c0a1ce626f906ff70ed68

Contents?: true

Size: 764 Bytes

Versions: 7

Compression:

Stored size: 764 Bytes

Contents

module Merit::Models::ActiveRecord
  class Score < ActiveRecord::Base
    self.table_name = :merit_scores
    belongs_to :sash
    has_many :score_points,
             dependent: :destroy,
             class_name: 'Merit::Score::Point'

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

    class Point < ActiveRecord::Base
      belongs_to :score, class_name: 'Merit::Score'
      has_one :sash, through: :score
      has_many :activity_logs,
               class_name: 'Merit::ActivityLog',
               as: :related_change
      delegate :sash_id, to: :score
    end
  end
end

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

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
merit-4.0.3 lib/merit/models/active_record/score.rb
merit-4.0.2 lib/merit/models/active_record/score.rb
qalam_merit-4.5.00 lib/merit/models/active_record/score.rb
qalam_merit-4.0.4 lib/merit/models/active_record/score.rb
qalam_merit-4.0.35 lib/merit/models/active_record/score.rb
merit-4.0.1 lib/merit/models/active_record/score.rb
merit-4.0.0 lib/merit/models/active_record/score.rb