def add_label(name, score)
      score = score.to_i
      raise GergichError, "invalid score" if score < -2 || score > 1
      raise GergichError, "can't set #{name}" if %w[Verified].include?(name)

      db.execute "INSERT INTO labels (name, score) VALUES (?, ?)",
                 [name, score]
    end
def add_label(name, score)
      score = score.to_i
      raise GergichError, "invalid score" if score < -2 || score > 1
      raise GergichError, "can't set #{name}" if %w[Verified].include?(name)

      db.execute "INSERT INTO labels (name, score) VALUES (?, ?)",
                 [name, score]
    end
Public: add a label to the draft

 name     - the label name, e.g. "Code-Review"
 score    - the score, e.g. "-1"

 You can set add the same label multiple times, but the lowest score
 for a given label will be used. This also applies to the inferred
 "Code-Review" score from comments; if it is non-zero, it will trump
 a higher score set here.