Class: MoteSMS::Number

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

Overview

MoteSMS::Number handles all the number parsing and formatting issues, also a number is immutable.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value, options = {}) ⇒ Number

Returns a new instance of Number.



13
14
15
16
17
# File 'lib/mote_sms/number.rb', line 13

def initialize(value, options = {})
  @options = options || {}
  @raw_number = value.to_s
  parse_raw_number
end

Instance Attribute Details

#numberObject (readonly) Also known as: to_number

Access the E164 normalized value of the number.



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

def number
  @number
end

Instance Method Details

#to_sObject

Public: Prints formatted number, i.e. the human readable variant.

Returns formatted number.



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

def to_s
  @formatted_number ||= vanity? ? number : Phony.formatted(number)
end

#vanity?Boolean

Public: Returns true if this could represent a vanity number.

Returns Boolean, true if this is a vanity number, else false.

Returns:

  • (Boolean)


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

def vanity?
  !!@options[:vanity]
end