module GS1::Validations::DateValidation
Ensures correct date validation.
Public Instance Methods
valid_date?()
click to toggle source
# File lib/gs1/validations/date_validation.rb, line 16 def valid_date? return true if data.is_a?(::Date) ::Date.parse(data) true rescue TypeError, ArgumentError false end
valid_format_a?(data)
click to toggle source
# File lib/gs1/validations/date_validation.rb, line 32 def valid_format_a?(data) valid_date_format?(data, '%y%m%d') end
valid_format_b?(data)
click to toggle source
Read more about this date format in the GS1::Extensions::MonthBasedDate class.
# File lib/gs1/validations/date_validation.rb, line 37 def valid_format_b?(data) valid_date_format?(data, '%y%m00') end
valid_month_based_date?()
click to toggle source
# File lib/gs1/validations/date_validation.rb, line 26 def valid_month_based_date? return true if data.is_a?(::Date) valid_format_a?(data) || valid_format_b?(data) end
validate_date(_options = {})
click to toggle source
# File lib/gs1/validations/date_validation.rb, line 8 def validate_date(_options = {}) errors << 'Invalid date' unless valid_date? end
validate_date_month_based(_options = {})
click to toggle source
# File lib/gs1/validations/date_validation.rb, line 12 def validate_date_month_based(_options = {}) errors << 'Invalid date' unless valid_month_based_date? end
Private Instance Methods
valid_date_format?(data, pattern)
click to toggle source
# File lib/gs1/validations/date_validation.rb, line 43 def valid_date_format?(data, pattern) ::Date.strptime(data, pattern) true rescue TypeError, ArgumentError false end