unp_smart 0.1.0 → 0.1.1
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/.gitignore +1 -0
- data/Gemfile.lock +1 -1
- data/README.md +24 -2
- data/bin/unpsmart +44 -0
- data/config/unp_smart.yml +2 -2
- data/lib/unp_smart/unp_smart_method.rb +20 -9
- data/lib/unp_smart/version.rb +1 -1
- data/unp_smart.gemspec +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1363bec36e89b6ac13f1344f8124c66b3a301197
|
4
|
+
data.tar.gz: ea06b3ab4d19feb6f1b1be5bc8f5a3b6add0f8de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 22a20c9bcd929eb47c40e15bf58f4909c5b17f35474bf5bd2ccba036b6b6f0653d6abf861edcd1ec66f9466750eb868ee9e7bb53cf122d7e5673f952ce0dc20a
|
7
|
+
data.tar.gz: 934a89bcc5fd2b0d118dbb6a5dce4390bc749dbe2dbb78e652292e714b32e620301c9485f13494145fa256f7bb16dc0f88f331883c41559f6d3a5271fa20bb27
|
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -22,7 +22,7 @@ Or install it yourself as:
|
|
22
22
|
|
23
23
|
```
|
24
24
|
development:
|
25
|
-
account: '
|
25
|
+
account: ''
|
26
26
|
secret_key: ''
|
27
27
|
server: 'https://data.unionpaysmart.com'
|
28
28
|
debug: true
|
@@ -41,6 +41,7 @@ development:
|
|
41
41
|
|
42
42
|
## 使用
|
43
43
|
|
44
|
+
### 在项目中使用
|
44
45
|
```
|
45
46
|
UnpSmart.get path,params,&block
|
46
47
|
|
@@ -64,9 +65,30 @@ UnpSmart.get '/merchant/queryName',{mName: '巴黎春天'}
|
|
64
65
|
* 第二个为请求的内容,如果失败为失败信息
|
65
66
|
|
66
67
|
|
68
|
+
### 在终端中使用
|
69
|
+
|
70
|
+
为了方便用户使用或调试,还提供了命令行的工具,按如下方式执行
|
71
|
+
```
|
72
|
+
unpsmart [get/post] api_path key1 value1 key2 value2 [...]
|
73
|
+
```
|
74
|
+
|
75
|
+
前面的get或post可以省略,默认为get如
|
76
|
+
|
77
|
+
```
|
78
|
+
unpsmart get merchant/queryName mName 巴黎春天
|
79
|
+
```
|
80
|
+
|
81
|
+
参数按key value传递即可,如果使用终端并且当前目录没有config/unp_smart.yml文件,程序会尝试加载用户目录下的.unp_smart.yml,如果没有您可以新建一个
|
82
|
+
|
83
|
+
```
|
84
|
+
curl https://raw.githubusercontent.com/unpsmart/ruby-sdk/master/config/unp_smart.yml > ~/.unp_smart.yml
|
85
|
+
```
|
86
|
+
|
87
|
+
然后编辑这个文件即可
|
88
|
+
|
67
89
|
## Contributing
|
68
90
|
|
69
|
-
1. Fork it ( https://github.com/unpsmart/
|
91
|
+
1. Fork it ( https://github.com/unpsmart/ruby-sdk/fork )
|
70
92
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
71
93
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
72
94
|
4. Push to the branch (`git push origin my-new-feature`)
|
data/bin/unpsmart
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
def invoke_api http_method,api_path,params={}
|
4
|
+
require 'unp_smart'
|
5
|
+
puts "invoke api:#{http_method},#{api_path},#{params}"
|
6
|
+
if http_method == 'get'
|
7
|
+
result = UnpSmart.get api_path,params
|
8
|
+
else
|
9
|
+
result = UnpSmart.post api_path,params
|
10
|
+
end
|
11
|
+
|
12
|
+
puts "\n"
|
13
|
+
puts "-"*50
|
14
|
+
puts result
|
15
|
+
puts "-"*50
|
16
|
+
end
|
17
|
+
|
18
|
+
if ARGV.length >0
|
19
|
+
http_method = ARGV.shift
|
20
|
+
if %w{get post}.include?(http_method)
|
21
|
+
api_path = ARGV.shift
|
22
|
+
else
|
23
|
+
api_path = http_method
|
24
|
+
http_method = 'get'
|
25
|
+
end
|
26
|
+
|
27
|
+
unless ARGV.length%2 == 0
|
28
|
+
puts "Args is missed!!You should give me even values"
|
29
|
+
exit!
|
30
|
+
end
|
31
|
+
|
32
|
+
params = {}
|
33
|
+
ARGV.each_slice(2) do |item|
|
34
|
+
params[item[0]] = item[1]
|
35
|
+
end
|
36
|
+
begin
|
37
|
+
invoke_api http_method,api_path,params
|
38
|
+
rescue => e
|
39
|
+
puts "invoke api error,got:#{e}"
|
40
|
+
end
|
41
|
+
else
|
42
|
+
puts "Usage:\n\tunpsmart [get/post] api_path key1 value1 key2 value2 [...]"
|
43
|
+
end
|
44
|
+
|
data/config/unp_smart.yml
CHANGED
@@ -18,6 +18,7 @@ module UnpSmart
|
|
18
18
|
|
19
19
|
def _invoke_api http_method,api,params={}
|
20
20
|
log "request api:#{api},params:#{params}"
|
21
|
+
raise 'api is not allowed blank!' if api.blank?
|
21
22
|
|
22
23
|
@api = api
|
23
24
|
@params = params
|
@@ -26,7 +27,8 @@ module UnpSmart
|
|
26
27
|
@config = {} if @config.nil?
|
27
28
|
@verbose = get_variable :verbose
|
28
29
|
|
29
|
-
|
30
|
+
@api = "/#{@api}" unless @api.start_with?("/")
|
31
|
+
|
30
32
|
account = get_variable :account
|
31
33
|
log "account:", account if @verbose
|
32
34
|
raise 'account is not allowed blank!' if account.blank?
|
@@ -44,7 +46,7 @@ module UnpSmart
|
|
44
46
|
|
45
47
|
extracted_params[:sign] = sign_params extracted_params,secret_key
|
46
48
|
|
47
|
-
request_url = "#{get_variable :server}#{api}?#{extracted_params.map{|key,value| "#{key}=#{CGI.escape value.nil? ? "" : value.to_s}"}.join("&")}"
|
49
|
+
request_url = "#{get_variable :server}#{@api}?#{extracted_params.map{|key,value| "#{key}=#{CGI.escape value.nil? ? "" : value.to_s}"}.join("&")}"
|
48
50
|
|
49
51
|
log "request:",request_url if @debug
|
50
52
|
|
@@ -60,7 +62,7 @@ module UnpSmart
|
|
60
62
|
yield return_response
|
61
63
|
else
|
62
64
|
if get_variable(:raw_response)
|
63
|
-
log "return raw response" if @
|
65
|
+
log "return raw response" if @verbose
|
64
66
|
return_response
|
65
67
|
else
|
66
68
|
log "parse result"
|
@@ -90,11 +92,21 @@ module UnpSmart
|
|
90
92
|
|
91
93
|
def load_config
|
92
94
|
log "loading config"
|
93
|
-
|
95
|
+
path = "#{app_root}/config/unp_smart.yml"
|
96
|
+
unless File.exist?(path)
|
97
|
+
path = "#{File.expand_path('~')}/.unp_smart.yml"
|
98
|
+
log "try use home config #{path}" if @verbose
|
99
|
+
|
100
|
+
unless File.exist?(path)
|
101
|
+
log "can't load config,will use env or params config"
|
102
|
+
return
|
103
|
+
end
|
104
|
+
end
|
105
|
+
log "config file path",path
|
106
|
+
@config ||= YAML.load_file(path)[current_env]
|
94
107
|
log "config:#{@config}" if @verbose
|
95
|
-
rescue => e
|
96
|
-
|
97
|
-
log "load config error:#{e.inspect}"
|
108
|
+
# rescue => e
|
109
|
+
# log "load config error:#{e.inspect}"
|
98
110
|
end
|
99
111
|
|
100
112
|
private
|
@@ -113,8 +125,7 @@ module UnpSmart
|
|
113
125
|
end
|
114
126
|
|
115
127
|
def get_variable_from_config key
|
116
|
-
@config
|
117
|
-
@config[key.to_s]
|
128
|
+
@config[key.to_s] if @config.present?
|
118
129
|
end
|
119
130
|
|
120
131
|
def log *msg
|
data/lib/unp_smart/version.rb
CHANGED
data/unp_smart.gemspec
CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0")
|
17
|
-
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
17
|
+
spec.executables = ['unpsmart']#spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unp_smart
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Xu
|
@@ -83,7 +83,8 @@ dependencies:
|
|
83
83
|
description: UnionpaySmart SDK for Ruby
|
84
84
|
email:
|
85
85
|
- martin.xus@gmail.com
|
86
|
-
executables:
|
86
|
+
executables:
|
87
|
+
- unpsmart
|
87
88
|
extensions: []
|
88
89
|
extra_rdoc_files: []
|
89
90
|
files:
|
@@ -93,6 +94,7 @@ files:
|
|
93
94
|
- LICENSE
|
94
95
|
- README.md
|
95
96
|
- Rakefile
|
97
|
+
- bin/unpsmart
|
96
98
|
- config/unp_smart.yml
|
97
99
|
- lib/unp_smart.rb
|
98
100
|
- lib/unp_smart/unp_smart_method.rb
|