Module: Area

Defined in:
lib/area.rb,
lib/area/version.rb

Constant Summary collapse

VERSION =
"0.10.0"

Class Method Summary collapse

Class Method Details

.area_codesObject



26
27
28
# File 'lib/area.rb', line 26

def self.area_codes
  @area_codes
end

.code?(code) ⇒ Boolean

Returns:

  • (Boolean)


40
41
42
43
44
45
46
# File 'lib/area.rb', line 40

def self.code?(code)
  if code.to_s.length == 3
    return code
  else
    raise ArgumentError, "You must provide a valid area code", caller
  end
end

.code_or_zip?(code) ⇒ Boolean

Returns:

  • (Boolean)


48
49
50
51
52
53
54
# File 'lib/area.rb', line 48

def self.code_or_zip?(code)
  if code.to_s.length == 3 or code.to_s.length == 5
    return code
  else
    raise ArgumentError, "You must provide a valid area or zip code", caller
  end
end

.regionsObject



34
35
36
37
38
# File 'lib/area.rb', line 34

def self.regions
  regions = []
  @area_codes.map{|row| regions << row.last.upcase }
  return regions
end

.state_or_territory?(state) ⇒ Boolean

Returns:

  • (Boolean)


64
65
66
67
68
69
70
# File 'lib/area.rb', line 64

def self.state_or_territory?(state)
  if self.regions.include?(state.upcase)
    return state
  else
    raise ArgumentError, "You must provide a valid US state abbreviation or territory name", caller
  end
end

.zip?(code) ⇒ Boolean

Returns:

  • (Boolean)


56
57
58
59
60
61
62
# File 'lib/area.rb', line 56

def self.zip?(code)
  if code.to_s.length == 5
    return code
  else
    raise ArgumentError, "You must provide zip code", caller
  end
end

.zip_codesObject



30
31
32
# File 'lib/area.rb', line 30

def self.zip_codes
  @zip_codes
end

.zip_or_territory?(state) ⇒ Boolean

Returns:

  • (Boolean)


72
73
74
75
76
77
78
# File 'lib/area.rb', line 72

def self.zip_or_territory?(state)
  if self.regions.include?(state.upcase) or self.zip?(state)
    return state
  else
    raise ArgumentError, "You must provide a valid US state abbreviation or zipcode.", caller
  end
end