Module: Area
- Defined in:
- lib/area.rb,
lib/area/version.rb
Constant Summary collapse
- VERSION =
"0.10.0"
Class Method Summary collapse
- .area_codes ⇒ Object
- .code?(code) ⇒ Boolean
- .code_or_zip?(code) ⇒ Boolean
- .regions ⇒ Object
- .state_or_territory?(state) ⇒ Boolean
- .zip?(code) ⇒ Boolean
- .zip_codes ⇒ Object
- .zip_or_territory?(state) ⇒ Boolean
Class Method Details
.area_codes ⇒ Object
26 27 28 |
# File 'lib/area.rb', line 26 def self.area_codes @area_codes end |
.code?(code) ⇒ 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
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 |
.regions ⇒ Object
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
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
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_codes ⇒ Object
30 31 32 |
# File 'lib/area.rb', line 30 def self.zip_codes @zip_codes end |
.zip_or_territory?(state) ⇒ 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 |