Class: CompletionKit::JudgeVersion

Inherits:
ApplicationRecord show all
Defined in:
app/models/completion_kit/judge_version.rb

Constant Summary collapse

STATES =
%w[draft published].freeze

Constants inherited from ApplicationRecord

ApplicationRecord::TenantScopedUniquenessValidator

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.ensure_current_for(metric) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'app/models/completion_kit/judge_version.rb', line 17

def self.ensure_current_for(metric)
  current.find_by(metric_id: metric.id) || create!(
    metric: metric,
    instruction: metric.instruction,
    rubric_bands: metric.rubric_bands,
    current: true,
    state: "published"
  )
end

Instance Method Details

#as_json(options = {}) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
# File 'app/models/completion_kit/judge_version.rb', line 35

def as_json(options = {})
  {
    id: id,
    metric_id: metric_id,
    instruction: instruction,
    rubric_bands: rubric_bands,
    current: current,
    state: state,
    source: source,
    created_at: created_at
  }
end

#draft?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'app/models/completion_kit/judge_version.rb', line 27

def draft?
  state == "draft"
end

#published?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'app/models/completion_kit/judge_version.rb', line 31

def published?
  state == "published"
end