Sha256: 5d69585a496c4931731361c7eaa05fbda161041bfb371a3f382a03b8fbaf0a48
Contents?: true
Size: 918 Bytes
Versions: 3
Compression:
Stored size: 918 Bytes
Contents
class Gman # Second level .us domains for states and locality # See http://en.wikipedia.org/wiki/.us # # Examples: # * foo.state.il.us # * ci.foo.il.us # # Not: # * state.foo.il.us # * foo.ci.il.us # * k12.il.us # * ci.foo.zx.us class Locality AFFINITY_NAMESPACES = %w(state dst cog).freeze STATES = %w( ak al ar az ca co ct dc de fl ga hi ia id il in ks ky la ma md me mi mn mo ms mt nc nd ne nh nj nm nv ny oh ok or pa ri sc sd tn tx um ut va vt wa wi wv wy ).freeze LOCALITY_DOMAINS = %w( ci co borough boro city county parish town twp vi vil village ).freeze REGEX = / ( (#{Regexp.union(AFFINITY_NAMESPACES)}) | (#{Regexp.union(LOCALITY_DOMAINS)})\.[a-z-]+ )\.(#{Regexp.union(STATES)})\.us /x def self.valid?(domain) !domain.to_s.match(Locality::REGEX).nil? end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gman-7.0.2 | lib/gman/locality.rb |
gman-7.0.1 | lib/gman/locality.rb |
gman-7.0.0 | lib/gman/locality.rb |