eric_tools 0.0.4 → 0.0.5
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.
- checksums.yaml +4 -4
- data/Gemfile +3 -0
- data/Rakefile +6 -0
- data/eric_tools.gemspec +9 -6
- data/lib/eric_tools.rb +37 -3
- data/lib/eric_tools/version.rb +1 -1
- data/test/test_eric_tools.rb +7 -0
- metadata +13 -39
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5fb1fb6cc60b5a28bd2f16ef58f8475ec0a66b49
|
4
|
+
data.tar.gz: 691d3f191af96e0e7f753711d30a450596669bef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d09bf9a8dbc10698f9691f56195f76f5dd7d0871c9343745a497f8609873dea7856c187565f3b4191f53c3cfbb2b3bc729f4325dd79146de33d4ff1ae25d602
|
7
|
+
data.tar.gz: 8a9b74bb0fe87b23056784c8e3ea6370c287943a9645aa1fa391309db903b270bbd1b22edc30a4a9a0e513fe5e587ff8c4c108cf1154fcefb11c90fae154a2e5
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
data/eric_tools.gemspec
CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = EricTools::VERSION
|
9
9
|
spec.authors = ["刘晓琦"]
|
10
10
|
spec.email = ["ericliu@ikidstv.com"]
|
11
|
-
spec.summary = %q{
|
12
|
-
spec.description = %q{
|
11
|
+
spec.summary = %q{在Rails框架基础上,对一些类增加一些工具方法。同时封装了一些平时比较常用的函数,如uuid, 随字数,根据ip获得城市名称等}
|
12
|
+
spec.description = %q{1.在Rails框架基础上,对一些类增加一些工具方法。 2.增加了一些工具类,如uuid,生成随机字符串,根据Ip获取城市名称等 3.一些有用的正则表达式}
|
13
13
|
spec.homepage = ""
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
@@ -18,9 +18,12 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
spec.
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
spec.add_dependency "nokogiri", '~> 1.6'
|
25
|
+
spec.add_dependency 'rest-client', '~> 1.8'
|
26
|
+
|
27
|
+
|
25
28
|
|
26
29
|
end
|
data/lib/eric_tools.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
require 'nokogiri'
|
2
|
+
require 'rest_client'
|
2
3
|
require "eric_tools/version"
|
4
|
+
require 'json'
|
3
5
|
|
4
6
|
require File.dirname(__FILE__) + '/eric_tools/array.rb'
|
5
7
|
require File.dirname(__FILE__) + '/eric_tools/business_exception.rb'
|
@@ -12,12 +14,24 @@ require File.dirname(__FILE__) + '/eric_tools/symbol.rb'
|
|
12
14
|
require File.dirname(__FILE__) + '/eric_tools/time.rb'
|
13
15
|
require File.dirname(__FILE__) + '/eric_tools/version.rb'
|
14
16
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
17
|
module EricTools
|
18
|
+
|
19
|
+
##
|
20
|
+
# ===功能描述
|
21
|
+
# 根据ip获取城市名称。
|
22
|
+
# ===参数说明
|
23
|
+
# ak:需要从百度申请每个应用的ak,用于根据ip查找城市名称,每个ak每天限制调用100万次。
|
24
|
+
# ip: 需要获取城市名称的ip
|
25
|
+
# ===返回值
|
26
|
+
# 返回一个hash , 其中,通地
|
27
|
+
# :city 获取城市名称
|
28
|
+
# :province 获以省份名称
|
29
|
+
# :address 地址详细信息:如 CN|上海|上海|None|CHINANET|0|0
|
30
|
+
# ===示例
|
31
|
+
# EricTools.uuid
|
19
32
|
def self.uuid
|
20
33
|
UUIDTools::UUID.timestamp_create.to_s
|
34
|
+
|
21
35
|
end
|
22
36
|
|
23
37
|
#type=1表示只包含数字,type=2表示只包含字母,type=3表示都包含
|
@@ -32,6 +46,26 @@ module EricTools
|
|
32
46
|
end
|
33
47
|
end
|
34
48
|
|
49
|
+
##
|
50
|
+
# ===功能描述
|
51
|
+
# 根据ip获取城市名称。
|
52
|
+
# ===参数说明
|
53
|
+
# ak:需要从百度申请每个应用的ak,用于根据ip查找城市名称,每个ak每天限制调用100万次。
|
54
|
+
# ip: 需要获取城市名称的ip
|
55
|
+
# ===返回值
|
56
|
+
# 返回一个hash , 其中,通地
|
57
|
+
# :city 获取城市名称
|
58
|
+
# :province 获以省份名称
|
59
|
+
# :address 地址详细信息:如 CN|上海|上海|None|CHINANET|0|0
|
60
|
+
# ===示例
|
61
|
+
# EricTools.get_city_name_from_ip {:ak=> 'HS8ViRxQT0xMu8d3uARISMif', :ip => '101.231.116.38', :default_province => '上海', :default_city => '上海'}
|
62
|
+
|
63
|
+
def self.get_city_name_from_ip options
|
64
|
+
response = RestClient.get("http://api.map.baidu.com/location/ip?ak=#{options[:ak]}&ip=#{options[:ip]}")
|
65
|
+
response = JSON.parse(response.body)
|
66
|
+
{:address => response["address"], :province => response["content"]["address_detail"]["province"], :city => response["content"]["address_detail"]["city"]} rescue {}
|
67
|
+
end
|
68
|
+
|
35
69
|
module RegularConstants
|
36
70
|
EmailRegular = /\A[\w+\-.]+@[a-z\d\-]+(?:\.[a-z\d\-]+)*\.[a-z]+\z/i
|
37
71
|
UserNameRegular = /\A[a-zA-Z_\d\s-]*\z/
|
data/lib/eric_tools/version.rb
CHANGED
metadata
CHANGED
@@ -1,37 +1,23 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eric_tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 刘晓琦
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ~>
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ~>
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: bundler
|
14
|
+
name: nokogiri
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
30
16
|
requirements:
|
31
17
|
- - ~>
|
32
18
|
- !ruby/object:Gem::Version
|
33
19
|
version: '1.6'
|
34
|
-
type: :
|
20
|
+
type: :runtime
|
35
21
|
prerelease: false
|
36
22
|
version_requirements: !ruby/object:Gem::Requirement
|
37
23
|
requirements:
|
@@ -39,34 +25,20 @@ dependencies:
|
|
39
25
|
- !ruby/object:Gem::Version
|
40
26
|
version: '1.6'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ~>
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: nokogiri
|
28
|
+
name: rest-client
|
57
29
|
requirement: !ruby/object:Gem::Requirement
|
58
30
|
requirements:
|
59
31
|
- - ~>
|
60
32
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
62
|
-
type: :
|
33
|
+
version: '1.8'
|
34
|
+
type: :runtime
|
63
35
|
prerelease: false
|
64
36
|
version_requirements: !ruby/object:Gem::Requirement
|
65
37
|
requirements:
|
66
38
|
- - ~>
|
67
39
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
69
|
-
description:
|
40
|
+
version: '1.8'
|
41
|
+
description: 1.在Rails框架基础上,对一些类增加一些工具方法。 2.增加了一些工具类,如uuid,生成随机字符串,根据Ip获取城市名称等 3.一些有用的正则表达式
|
70
42
|
email:
|
71
43
|
- ericliu@ikidstv.com
|
72
44
|
executables: []
|
@@ -91,6 +63,7 @@ files:
|
|
91
63
|
- lib/eric_tools/symbol.rb
|
92
64
|
- lib/eric_tools/time.rb
|
93
65
|
- lib/eric_tools/version.rb
|
66
|
+
- test/test_eric_tools.rb
|
94
67
|
homepage: ''
|
95
68
|
licenses:
|
96
69
|
- MIT
|
@@ -114,5 +87,6 @@ rubyforge_project:
|
|
114
87
|
rubygems_version: 2.2.2
|
115
88
|
signing_key:
|
116
89
|
specification_version: 4
|
117
|
-
summary:
|
118
|
-
test_files:
|
90
|
+
summary: 在Rails框架基础上,对一些类增加一些工具方法。同时封装了一些平时比较常用的函数,如uuid, 随字数,根据ip获得城市名称等
|
91
|
+
test_files:
|
92
|
+
- test/test_eric_tools.rb
|