Skip to content

Instantly share code, notes, and snippets.

@mkweick
Last active February 20, 2016 18:41
Show Gist options
  • Save mkweick/98fa7acc158597d17497 to your computer and use it in GitHub Desktop.
Save mkweick/98fa7acc158597d17497 to your computer and use it in GitHub Desktop.
Phone Number
class PhoneNumber
attr_reader :number
def initialize(number)
@number = authenticate(number)
end
def to_s
"(#{area_code}) #{number[3..5]}-#{number[6..9]}"
end
def authenticate(number)
number.gsub!(/\W/, '')
number.slice!(0) if number =~ /^1{1}\d{10}$/
if number =~ /^\d{10}$/
number
else
'0000000000'
end
end
def area_code
number[0..2]
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment