module PhcStringFormat::Validations::ClassMethods

class methods

Public Instance Methods

do_validate(that) click to toggle source
# File lib/phc_string_format/validations.rb, line 28
def do_validate(that)
  @validators.each { |validator| validator.call(that) }
  that
end
validate(name, **options) click to toggle source
# File lib/phc_string_format/validations.rb, line 23
def validate(name, **options)
  @validators ||= []
  @validators << ->(object) { raise ArgumentError, options[:message] unless object.send(name) }
end
validates(name, **options) click to toggle source
# File lib/phc_string_format/validations.rb, line 13
def validates(name, **options)
  @validators ||= []
  @validators << lambda { |object|
    value = object.instance_variable_get(name)
    return if options[:allow_nil] && !value
    regex = options.dig(:format, :with)
    raise ArgumentError, options[:message] unless !regex || value =~ regex
  }
end