normalic icon indicating copy to clipboard operation
normalic copied to clipboard

Mostly regex-based tool to normalize URLs, U.S phone numbers and U.S addresses

= Normalic

Easy parser/normalizer for U.S. addresses, U.S. phone numbers, and URIs.

== More info

Don't you wanna punch yourself in the face every time you have to parse and normalize this stuff?

I did repeatedly while writing this gem so you don't have to anymore.

It tries to correct mal-formed input to the best of its ability.

== Example

>> address = Normalic::Address.parse("201 Varick St. floor 12th, New York, NY 10014")
>> address.number
=> "201"

>> address.street
=> "Varick"

>> address.to_s
=> "201 Varick St., New York, NY 10014"


>> phone = Normalic::PhoneNumber.parse("00 + 1* (212) 989-9741 ext. 123")
>> phone.npa
=> "212"

>> phone.to_s
=> "212 989 9741"


>> uri = Normalic::URI.parse("github.com/ericxtang/expresso/../normalic/")
>> uri.domain
=> "github"

>> uri.scheme
=> "http"

>> uri.to_s
=> "http://www.github.com/ericxtang/normalic"


>> addr = Normalic::Address.normalize_fields("address" => "201 Varick St.",
                                          :city => "New York",
                                          :state => "NY",
                                          :zipcode => 10014)
>> addr.number
=> "201"

== Note on URI parsing behavior

In the name of normalization, the URI class uses +http+ and +www+ as the default scheme and subdomain if they are missing from the input string.

== Contributors Eric Tang http://www.erictang.org

Mike Craig https://twitter.com/mkscrg

Aidan Feldman http://www.aidanfeldman.com/