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

.qqwryObject



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