Class: Cocina::Models::Validators::MarcDateValidator
- Inherits:
-
Object
- Object
- Cocina::Models::Validators::MarcDateValidator
- Defined in:
- lib/cocina/models/validators/marc_date_validator.rb
Overview
Validates MARC date values.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(date) ⇒ MarcDateValidator
constructor
A new instance of MarcDateValidator.
-
#validate ⇒ Object
MARC date formats: YYYY — 4 chars; digits may be replaced by ‘u’ (uncertain) or ‘|’ (no attempt to code) YYMMDD — 6 chars; digits or ‘u’ YYYYMMDD — 8 chars; digits or ‘u’.
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 — 4 chars; digits may be replaced by 'u' (uncertain) or '|' (no attempt to code)
YYMMDD — 6 chars; digits or 'u'
YYYYMMDD — 8 chars; digits or 'u'
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 |