Module: Israeli::Sanitizer
- Defined in:
- lib/israeli/sanitizer.rb
Overview
Input sanitization utilities for Israeli validators.
Provides consistent normalization of user input across all validators, handling common formatting variations like spaces, hyphens, and international phone prefixes.
Constant Summary collapse
- STRIP_CHARS =
Common separator characters to strip from input
/[\s\-.+]/
Class Method Summary collapse
-
.digits_only(value) ⇒ String?
Extracts only digit characters from input.
-
.normalize_phone(value) ⇒ String?
Normalizes phone numbers by stripping international prefixes.
Class Method Details
.digits_only(value) ⇒ String?
Extracts only digit characters from input.
Strips common formatting characters (spaces, hyphens, dots) and converts the input to a string. Returns nil for nil input.
26 27 28 29 30 |
# File 'lib/israeli/sanitizer.rb', line 26 def self.digits_only(value) return nil if value.nil? value.to_s.gsub(STRIP_CHARS, "") end |
.normalize_phone(value) ⇒ String?
Normalizes phone numbers by stripping international prefixes.
Handles common Israeli international dialing formats:
- +972 (standard international)
- 972 (without plus)
- 00972 (international access code)
50 51 52 53 54 55 56 |
# File 'lib/israeli/sanitizer.rb', line 50 def self.normalize_phone(value) cleaned = digits_only(value) return nil if cleaned.nil? # Strip international prefixes and add leading zero cleaned.sub(/\A(00972|972)/, "0") end |