Project

dialable

0.01
No commit activity in last 3 years
No release in over 3 years
A gem that provides parsing and output of phone numbers according to NANPA (North American Numbering Plan Administration) standards. If possible, time zones are populated by abbreviation as well as offset relative to the local timezone.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

~> 1.0
 Project Readme

dialable

Gem Version Build Status

A gem that provides parsing and output of phone numbers according to NANPA standards.

This gem does not provide a validation for Rails.

Phone numbers are not a big deal if you can validate the input at the time you've got a human right there. My enterprise tends not to have that ability, as we receive large files from clients with little or no validation done. Rather than abandon #s which don't validate, I wrote this to parse and normalize a string into a standard NANP phone number, possibly including an extension.

Usage and Features

$ irb
>> require "dialable"
>> pn = Dialable::NANP.parse("+1(800)555-1212 ext 1234")
>> puts pn.to_s         # Pretty output
800-555-1212 x1234
>> puts pn.to_digits    # Address book friendly
8005551212 x1234
>> puts pn.to_dialable  # PBX friendly
8005551212
>> puts pn.extension
1234

Timezones and Timezone relative offsets

For v1.0.0, the timezone syntax from dialable has changed to output tzinfo compatible names.

Also, pn.timezones and pn.relative_timezones should do the right thing.

Data

The YAML file with the valid area codes and easily recognizable codes (like 911) can get out of date. To update your own copy, run:

cd $(dirname $(gem which dialable)) ; cd ..
ruby ./support/make_yaml_nanpa.rb > data/dialable/nanpa.yaml

References