module RuPhoneInfo
Constants
- VERSION
Public Class Methods
get(phone)
click to toggle source
# File lib/ru_phone_info.rb, line 5 def self.get phone phone = prepare_phone phone code = get_code phone number = get_number phone result = mobile_phones.find { |row| row[0]==code && number >= row[1].to_i && number.to_i <= row[2].to_i } if result { code: result[0], begin: result[1], end: result[2], capacity: result[3], operator: result[4], region: result[5] } else nil end end
Private Class Methods
get_code(phone)
click to toggle source
# File lib/ru_phone_info.rb, line 39 def self.get_code phone phone[-10, 3] end
get_number(phone)
click to toggle source
# File lib/ru_phone_info.rb, line 35 def self.get_number phone phone[-7, 11].to_i end
mobile_phones()
click to toggle source
# File lib/ru_phone_info.rb, line 26 def self.mobile_phones data = File.read("#{File.dirname(__FILE__)}/ru_phone_info/data/Kody_DEF-9kh.csv") files_content = data.force_encoding("cp1251").encode("utf-8") files_content.gsub!("\t", '').gsub!("\r", '').gsub!('"', '') CSV.parse(files_content, col_sep: ";", row_sep: "\n", skip_blanks: true) end
prepare_phone(phone)
click to toggle source
# File lib/ru_phone_info.rb, line 43 def self.prepare_phone phone phone.gsub(/[^\d]/, '') end