Class: MoteSMS::Number
- Inherits:
-
Object
- Object
- MoteSMS::Number
- 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
-
#number ⇒ Object
(also: #to_number)
readonly
Access the E164 normalized value of the number.
Instance Method Summary collapse
-
#initialize(value, options = {}) ⇒ Number
constructor
A new instance of Number.
-
#to_s ⇒ Object
Public: Prints formatted number, i.e.
-
#vanity? ⇒ Boolean
Public: Returns true if this could represent a vanity number.
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, = {}) = || {} @raw_number = value.to_s parse_raw_number end |
Instance Attribute Details
#number ⇒ Object (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_s ⇒ Object
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.
22 23 24 |
# File 'lib/mote_sms/number.rb', line 22 def vanity? !![:vanity] end |