1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-21 06:09:38 +02:00
Maybe/app/models/import/field.rb

38 lines
646 B
Ruby
Raw Normal View History

class Import::Field
def self.iso_date_validator(value)
Date.iso8601(value)
true
rescue
false
end
def self.bigdecimal_validator(value)
BigDecimal(value)
true
rescue
false
end
attr_reader :key, :label, :validator
2024-06-11 18:46:44 -04:00
def initialize(key:, label:, is_optional: false, validator: nil)
@key = key.to_s
@label = label
2024-06-11 18:46:44 -04:00
@is_optional = is_optional
@validator = validator
end
2024-06-11 18:46:44 -04:00
def optional?
@is_optional
end
def define_validator(validator = nil, &block)
@validator = validator || block
end
def validate(value)
return true if validator.nil?
validator.call(value)
end
end