upyun 1.0.5 → 1.0.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 27f13c813d11dd28a2ff2208053b616773c423c1
4
- data.tar.gz: 3ce085cd227c44f2d6ddb9e6d5bbcea74f756c14
3
+ metadata.gz: 5a66fd1986e039bfa120d3ce923ab1809edd6c5a
4
+ data.tar.gz: cec146d124a0257d94540c4b23001d56b9589402
5
5
  SHA512:
6
- metadata.gz: a2c3510754b1c6565a8fa562ac4d761bc68419c5bd7d115fc7329f532630e3f1f9471bbaf7614c54c1fba6428998a15a7f573f7e8857c9df1a534176fdabc1b4
7
- data.tar.gz: ae4e7810041ae15e6537d510b260801d4e20d06aee8f0ca41aea103709c52c6652eb03b1a96b77b463ec7c5ba02fcbb6c7f05452d2b3425a3b7d91646d9a3c2d
6
+ metadata.gz: d8397e0d383e03a1574f47ed5ef1b18ce92ccc5b4ff3da243791b5dad47491c38136bbee8bf2adfcbb454ab6d743befb84c90b1535a19ce37db747e13aeb4f8e
7
+ data.tar.gz: 2760c52be9fb2be54d320c9b7064febc600163c98e888b6e47803b015670d4ad6d263a5c13838b520106a3a1e07ad5af526c629fcfd9227aa3d2a271aa48dedc
data/README.md CHANGED
@@ -39,15 +39,17 @@ $ gem install upyun
39
39
  ```ruby
40
40
  require 'upyun'
41
41
 
42
- upyun = Upyun::Rest.new('bucket', 'operator', 'password', 'options', 'endpoint')
42
+ upyun = Upyun::Rest.new(bucket, operator, password, options, endpoint)
43
43
  ```
44
44
  **参数**
45
45
 
46
- * `bucket`: UPYUN 空间名称
47
- * `operator`: 授权操作员帐号
48
- * `password`: 授权操作员密码
49
- * `options`: 连接选项,可用的选项见[RestClient::Resource](https://github.com/rest-client/rest-client/blob/master/lib/restclient/resource.rb), 默认设置超时时间 60s
50
- * `endpoint`(可选)(默认:`Upyun::ED_AUTO`): API接入点,可根据具体网络情况设置最优的接入点,详情见 [API 域名](http://docs.upyun.com/api/)
46
+ | 参数名 | 类型 | 可选 | 说明 |
47
+ |:-------------:|:--------:|-------:| ------------- |
48
+ | `bucket` | `String` | 必选 | UPYUN 空间名称|
49
+ | `operator` | `String` | 必选 | 授权操作员帐号|
50
+ | `password` | `String` | 必选 | 授权操作员密码|
51
+ | `options` | `Hash` | 可选 | 连接选项,可用的选项见[RestClient::Resource](https://github.com/rest-client/rest-client/blob/master/lib/restclient/resource.rb), 默认设置超时时间 60s |
52
+ | `endpoint` | `String` | 可选 | (默认:`Upyun::ED_AUTO`): API接入点,可根据具体网络情况设置最优的接入点,详情见 [API 域名](http://docs.upyun.com/api/) |
51
53
 
52
54
  其中 `endpoint` 可选值如下:
53
55
 
@@ -90,12 +92,17 @@ headers = {'Content-Type' => 'image/jpeg', 'x-gmkerl-type' => 'fix_width', 'x-gm
90
92
  upyun.put('/save/to/path', 'file or binary', headers)
91
93
  ```
92
94
 
93
- 其中, `/save/to/path` 和 `file or binary` 和默认上传方式中一致,`headers` 参数即为额外的可选 HTTP Header 参数,详情查阅 [Rest API](http://docs.upyun.com/api/rest_api/#_4)
95
+ 其中, `/save/to/path` 和 `file or binary` 和默认上传方式中一致,`headers` 参数即为额外的可选 HTTP Header 参数,
96
+ 详情查阅 [Rest API](http://docs.upyun.com/api/rest_api/#_4)
94
97
 
95
98
  **返回**
96
99
 
97
- 上传成功返回 `true`,失败返回一个 `Hash` 结构: `{request_id: request_id, error: {code: code, message: message}}`,
98
- 其中:
100
+ 上传成功:
101
+
102
+ * 如果是图片空间,返回图片原信息,如 `{:height=>629, :file_type=>"JPEG", :width=>440, :frames=>1}`
103
+ * 如果是其它空间,返回 `true`,
104
+
105
+ 失败返回一个 `Hash` 结构: `{request_id: request_id, error: {code: code, message: message}}`, 其中:
99
106
 
100
107
  * `request_id` 为本次请求的请求码,由 UPYUN 本台返回,可用该值查询 UPYUN 日志;
101
108
  * `code` 为又拍云返回的错误码;
@@ -126,13 +133,14 @@ file = upyun.get('/path/to/file')
126
133
  ##### 保存文件至本地
127
134
 
128
135
  ```ruby
129
- upyun.get('/path/to/file', 'saved/foo.png')
136
+ upyun.get('/path/to/file', 'saved/foo.png', headers)
130
137
  ```
131
138
 
132
139
  **参数**
133
140
 
134
141
  * `'/path/to/file'`: 文件在 UPYUN 空间中的路径
135
142
  * `saved/foo.png`: 文件本地保存路径
143
+ * `headers`: 指定下载时的头信息,默认为 `{}`
136
144
 
137
145
  **返回**
138
146
  下载成功返回获取的文件长度, 失败返回内容和上例一致。
data/lib/upyun/rest.rb CHANGED
@@ -39,8 +39,8 @@ module Upyun
39
39
  file.close if file.respond_to?(:close)
40
40
  end
41
41
 
42
- def get(path, savepath=nil)
43
- res = request(:get, path)
42
+ def get(path, savepath=nil, headers={})
43
+ res = request(:get, path, headers: headers)
44
44
  return res if res.is_a?(Hash) || !savepath
45
45
 
46
46
  dir = File.dirname(savepath)
data/lib/upyun/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Upyun
2
- VERSION = "1.0.5"
2
+ VERSION = "1.0.6"
3
3
  end
data/spec/upyun_spec.rb CHANGED
@@ -92,6 +92,11 @@ describe "Upyun Restful API Basic testing" do
92
92
  File.delete('./save.jpg')
93
93
  end
94
94
 
95
+ it "GET a file with Accept Header" do
96
+ expect(@upyun.get(@path, nil, {'Accept' => '*/*'})).to eq(@str)
97
+ end
98
+
99
+
95
100
  it "GET a not-exist file" do
96
101
  res = @upyun.get("/ruby-sdk/foo/#{String.random}/test-not-exist.jpg")
97
102
  expect(res.is_a?(Hash) && res[:error][:code] == 404)
@@ -193,8 +198,7 @@ describe "Form Upload", current: true do
193
198
  expect(res.keys).to include(:code, :message, :url, :time)
194
199
  expect(res[:code]).to eq(200)
195
200
  expect(res[:message]).to match(/ok/)
196
- now = Time.now
197
- expect(res[:url]).to eq("/#{now.year}/#{now.mon}/#{now.day}/upyun.jpg")
201
+ expect(res[:url]).to eq(Time.now.utc.strftime('/%Y/%m/%d/upyun.jpg'))
198
202
  end
199
203
 
200
204
  it "with file descriptor should success" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: upyun
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - jsvisa
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-08 00:00:00.000000000 Z
11
+ date: 2015-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client