Class: Telephone

Inherits:
Object
  • Object
show all
Defined in:
lib/telephone.rb

Constant Summary collapse

FORMAT =
/\A(\d{2})(\d{4})(\d{4})\Z/

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(number) ⇒ Telephone

Returns a new instance of Telephone.



6
7
8
# File 'lib/telephone.rb', line 6

def initialize(number)
  @number = number
end

Instance Attribute Details

#numberObject

Returns the value of attribute number.



4
5
6
# File 'lib/telephone.rb', line 4

def number
  @number
end

Instance Method Details

#formattedObject



14
15
16
# File 'lib/telephone.rb', line 14

def formatted
  stripped.gsub FORMAT, "(\\1) \\2-\\3"
end

#strippedObject



10
11
12
# File 'lib/telephone.rb', line 10

def stripped
  @number.gsub /[^\d]/, ''
end

#to_sObject



22
23
24
# File 'lib/telephone.rb', line 22

def to_s
  formatted
end

#valid?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/telephone.rb', line 18

def valid?
  stripped.match FORMAT
end