class MsisdnPH::Msisdn

Public Class Methods

clean(msisdn) click to toggle source
# File lib/Msisdn.rb, line 76
def self.clean(msisdn)

        msisdn = msisdn.gsub(/[^0-9]/, "")

        if msisdn[0..0] == '0'
                msisdn = msisdn[1..msisdn.length]
        elsif msisdn[0..1] == '63'
                msisdn = msisdn[2..msisdn.length]
        end

end
new(msisdn) click to toggle source
# File lib/Msisdn.rb, line 8
def initialize(msisdn)
        if Msisdn.validate(msisdn) == false
                raise "The supplied MSISDN is not valid 
                           You can use the `Msisdn.validate()` method to validate 
                            the MSISDN being passed."
        end

        @msisdn = Msisdn.clean(msisdn)
        
end
validate(mobile_number) click to toggle source
# File lib/Msisdn.rb, line 68
def self.validate(mobile_number)

        mobile_number = self.clean(mobile_number)

        return !mobile_number.empty? &&
                                mobile_number.length === 10
end

Public Instance Methods

get(countryCode = false, separator = '') click to toggle source
# File lib/Msisdn.rb, line 20
def get(countryCode = false, separator = '')

        if countryCode == false
                formattedNumber = '0' + @msisdn

                unless separator.empty?
                        formattedNumber.insert(4, separator) 
                        formattedNumber.insert(8, separator)
                end

        else
                formattedNumber = '+63' + @msisdn

                unless separator.empty?
                        formattedNumber.insert(3, separator)
                        formattedNumber.insert(7, separator)
                        formattedNumber.insert(11, separator)
                end
        end

        return formattedNumber

end
operator() click to toggle source
# File lib/Msisdn.rb, line 52
def operator
        set_prefix

        if @globePrefixes.values[0].include?(prefix) 
                @operator = "GLOBE"
        elsif @sunPrefixes.values[0].include?(prefix)
                @operator = "SUN"
        elsif @smartPrefixes.values[0].include?(prefix)
                @operator = "SMART"
        else
                @operator = "UNKNOWN"
        end

end
prefix() click to toggle source
# File lib/Msisdn.rb, line 44
def prefix
        if @prefix.nil?
                @prefix = @msisdn[0..2]
        end

        return @prefix
end

Private Instance Methods

set_prefix() click to toggle source
# File lib/Msisdn.rb, line 89
def set_prefix 
        
        if @globePrefixes.nil?
                @globePrefixes = YAML.load_file(File.join(File.dirname(__FILE__), "Msisdn", "data", "globe.yml"))
        end

        if @smartPrefixes.nil?
                @smartPrefixes = YAML.load_file(File.join(File.dirname(__FILE__), "Msisdn", "data", "smart.yml"))
        end

        if @sunPrefixes.nil?
                @sunPrefixes = YAML.load_file(File.join(File.dirname(__FILE__), "Msisdn", "data", "sun.yml"))
        end

end