china_phone_region 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/china_phone_region.rb +29 -3
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a162464669aea4b6ae0b2bb736f3478dc2e0274d
4
- data.tar.gz: b0fa140fc8d458241a5bec46044247c5035da273
3
+ metadata.gz: f55d37febe6653207169a403830d729a932f8956
4
+ data.tar.gz: 489e126ec6f80e0f93bca160cac1287b6ae086cf
5
5
  SHA512:
6
- metadata.gz: c975c3fa5686af676df81b11b82a3df6a66eac100728c20e15af20e0fc3c93e9e8e45b3692503ce2c455465ba5b79b45e3df44f3ce286696d9ea1ac964358bae
7
- data.tar.gz: 157cd0ee41adfafe9c753eb0bac0e59ff5cc329a06131418c962d7c6fea8362a616b5a7c044315d8504ce7d9e2d7759d361dae7d49350de2046760c5236d492e
6
+ metadata.gz: 484c74fb7534c47e6bceb943da8480329768eded2d276650e9d40209fa41bb7f2ba252bd5345f4413cef2332b52f7d8724b3e11416c5779691e95fd7ce52b1a9
7
+ data.tar.gz: c7de9ddaab73e7b902237ee96760785271c28f6a9bb957e7338223904b9bfe28cd3156fcaae5202ef90394241997f1305347fd0210fe7eb9f79cf49e0ec1ddd4
@@ -1,9 +1,35 @@
1
1
  class ChinaPhoneRegion
2
2
  require 'json'
3
+ require 'mobinfo'
3
4
  @@ac_map = JSON.parse(File.read(File.expand_path('../../data/area_codes_map.json', __FILE__), mode: 'r'))
4
5
 
5
- def self.area_code(code)
6
- address = @@ac_map['ac' + code]
7
- "#{address['province']}#{address['citys'][0]}" unless address.nil?
6
+ def self.query(code)
7
+ area_code = get_area_code(code)
8
+ if !area_code.nil?
9
+ query_area_code(area_code)
10
+ elsif is_phone_number(code)
11
+ mobinfo = query_phone_number(code)
12
+ end
13
+ end
14
+
15
+ def self.query_area_code(code)
16
+ temp = @@ac_map['ac' + code]
17
+ { :province => temp['province'], :city => temp['citys'][0], :region_code => code, :isp => '' } unless temp.nil?
18
+ end
19
+
20
+ def self.query_phone_number(code)
21
+ temp = MobInfo.lookup(code)
22
+ { :province => temp[:province], :city => temp[:city], :region_code => temp[:region_code], :isp => temp[:isp] } unless temp.nil?
23
+ end
24
+
25
+ def self.is_phone_number(code)
26
+ code = code.to_s
27
+ !code.match(/^1\d{10}$/).nil?
28
+ end
29
+
30
+ def self.get_area_code(code)
31
+ code = code.to_s
32
+ area_code = code.match(/^(0[1-2]\d)|^(0[3-9]\d{2})/)
33
+ area_code[0] unless area_code.nil?
8
34
  end
9
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: china_phone_region
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Chang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-20 00:00:00.000000000 Z
11
+ date: 2016-01-25 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Query phone number and area code region!
14
14
  email: TylerChangMore@icloud.com