Module: IpLocationCn
- Defined in:
- lib/ip_location_cn.rb,
lib/ip_location_cn/qq_wry.rb,
lib/ip_location_cn/version.rb
Defined Under Namespace
Classes: QqWry
Constant Summary collapse
- VERSION =
"0.0.1"
Class Method Summary collapse
Class Method Details
.location_of(ip) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/ip_location_cn.rb', line 14 def location_of(ip) return 'invalid ip address' unless valid_ip(ip) result = qqwry.find_ip_location(ip) ec = Encoding::Converter.new("GB2312", "UTF-8") result[:location] = ec.convert result[:location] result[:origin] = ec.convert result[:origin] result end |
.qqwry ⇒ Object
10 11 12 |
# File 'lib/ip_location_cn.rb', line 10 def qqwry @qqwry ||= QqWry.instance end |
.valid_ip(ip) ⇒ Object
6 7 8 |
# File 'lib/ip_location_cn.rb', line 6 def valid_ip(ip) ip =~ /(([2]([0-4][0-9]|[5][0-5])|[0-1]?[0-9]?[0-9])[.]){3}(([2]([0-4][0-9]|[5][0-5])|[0-1]?[0-9]?[0-9]))/i end |