Module: Phonelib::PhoneValidation

Included in:
Phone
Defined in:
lib/phonelib/phone_validation.rb

Overview

Framework-independent diagnostics and policy validation for a parsed phone.

Instance Method Summary collapse

Instance Method Details

#errors(options = {}) ⇒ Phonelib::Errors

Convenience accessor for validation diagnostics.

Parameters:

  • options (Hash) (defaults to: {})

    phone validation rules

Returns:



31
32
33
# File 'lib/phonelib/phone_validation.rb', line 31

def errors(options = {})
  validation(options).errors
end

#validation(options = {}) ⇒ Phonelib::ValidationResult

Returns an immutable result explaining whether this phone satisfies the requested rules and, when it does not, why.

Parameters:

  • options (Hash) (defaults to: {})

    phone validation rules

Returns:



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/phonelib/phone_validation.rb', line 16

def validation(options = {})
  validate_options!(options)
  possible = options.fetch(:possible, false)
  possibility = diagnostic_possibility
  validation_errors = intrinsic_validation_errors(possible, possibility)
  if validation_errors.empty?
    validation_errors.concat(policy_validation_errors(options, possible))
  end

  ValidationResult.new(self, validation_errors, possibility)
end