Sha256: c045c6f6d49f341e7170e42261a8f64060f885b2cd165791e8d93f95728902fa

Contents?: true

Size: 363 Bytes

Versions: 14

Compression:

Stored size: 363 Bytes

Contents

module Hyrax
  class OrcidValidator < ActiveModel::Validator
    def validate(record)
      return if record.orcid.blank?
      record.errors.add(:orcid, 'must be a string of 19 characters, e.g., "0000-0000-0000-0000"') unless self.class.match(record.orcid)
    end

    def self.match(string)
      /\d{4}-\d{4}-\d{4}-\d{3}[\dX]/.match(string)
    end
  end
end

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
hyrax-1.1.1 app/models/hyrax/orcid_validator.rb
hyrax-1.1.0 app/models/hyrax/orcid_validator.rb
hyrax-1.0.5 app/models/hyrax/orcid_validator.rb
hyrax-2.0.0.beta4 app/models/hyrax/orcid_validator.rb
hyrax-2.0.0.beta3 app/models/hyrax/orcid_validator.rb
hyrax-2.0.0.beta2 app/models/hyrax/orcid_validator.rb
hyrax-2.0.0.beta1 app/models/hyrax/orcid_validator.rb
hyrax-1.0.4 app/models/hyrax/orcid_validator.rb
hyrax-1.0.3 app/models/hyrax/orcid_validator.rb
hyrax-1.0.2 app/models/hyrax/orcid_validator.rb
hyrax-1.0.1 app/models/hyrax/orcid_validator.rb
hyrax-1.0.0.rc2 app/models/hyrax/orcid_validator.rb
hyrax-1.0.0.rc1 app/models/hyrax/orcid_validator.rb
test_hyrax-0.0.1.alpha app/models/hyrax/orcid_validator.rb