Class: Cocina::Models::Validators::MarcDateValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/cocina/models/validators/marc_date_validator.rb

Overview

Validates MARC date values.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(date) ⇒ MarcDateValidator

Returns a new instance of MarcDateValidator.



12
13
14
# File 'lib/cocina/models/validators/marc_date_validator.rb', line 12

def initialize(date)
  @date = date
end

Class Method Details

.validate(date) ⇒ Object



8
9
10
# File 'lib/cocina/models/validators/marc_date_validator.rb', line 8

def self.validate(date)
  new(date).validate
end

Instance Method Details

#validate ⇒ Object

MARC date formats:

YYYY     


20
21
22
23
24
# File 'lib/cocina/models/validators/marc_date_validator.rb', line 20

def validate # rubocop:disable Naming/PredicateMethod
  /\A[0-9u|]{4}\z/.match?(@date) ||
    /\A[0-9u]{6}\z/.match?(@date) ||
    /\A[0-9u]{8}\z/.match?(@date)
end