sha_validator.rb 247 Bytes
Newer Older
1 2 3 4 5 6 7 8 9
# frozen_string_literal: true

class ShaValidator < ActiveModel::EachValidator
  def validate_each(record, attribute, value)
    return if value.blank? || value.match(/\A\h{40}\z/)

    record.errors.add(attribute, 'is not a valid SHA')
  end
end