qiniu-rs 3.4.1 → 3.4.2

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml CHANGED
@@ -10,3 +10,6 @@ rvm:
10
10
  - ruby-head
11
11
  - jruby-head
12
12
  - ree
13
+ before_script:
14
+ - export QINIU_ACCESS_KEY=iN7NgwM31j4-BZacMjPrOQBs34UG1maYCAQmhdCV
15
+ - export QINIU_SECRET_KEY=6QTOr2Jg1gcZEWDQXKOGZh5PziC2MCV5KsntT70j
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  ## CHANGE LOG
2
2
 
3
+ ### v3.4.2
4
+
5
+ - `Qiniu::RS.generate_upload_token()` 方法新增 `:return_body` 选项。
6
+
7
+ 该选项(`:return_body`)可设置文件上传成功后,执行七牛云存储规定的回调API,并以 JSON 响应格式返回其执行结果。参考 [uploadToken 之 returnBody 说明](http://docs.qiniutek.com/v3/api/io/#uploadToken-returnBody)。
8
+
3
9
  ### v3.4.1
4
10
 
5
11
  增加为上传文件进行预转的选项,参见 [uploadToken 之 asyncOps 说明](http://docs.qiniutek.com/v3/api/io/#uploadToken-asyncOps)
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- qiniu-rs (3.4.1)
4
+ qiniu-rs (3.4.2)
5
5
  json (~> 1.7)
6
6
  mime-types (~> 1.19)
7
7
  rest-client (~> 1.6)
@@ -13,7 +13,7 @@ GEM
13
13
  diff-lcs (1.1.3)
14
14
  fakeweb (1.3.0)
15
15
  json (1.7.6)
16
- mime-types (1.19)
16
+ mime-types (1.20.1)
17
17
  rake (10.0.3)
18
18
  rest-client (1.6.7)
19
19
  mime-types (>= 1.16)
@@ -24,7 +24,7 @@ GEM
24
24
  rspec-core (2.12.2)
25
25
  rspec-expectations (2.12.1)
26
26
  diff-lcs (~> 1.1.3)
27
- rspec-mocks (2.12.1)
27
+ rspec-mocks (2.12.2)
28
28
  ruby-hmac (0.4.0)
29
29
 
30
30
  PLATFORMS
data/README.md CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
  ## 许可证
34
34
 
35
- Copyright (c) 2012 qiniutek.com
35
+ Copyright (c) 2012-2013 qiniutek.com
36
36
 
37
37
  基于 MIT 协议发布:
38
38
 
data/docs/README.md CHANGED
@@ -126,7 +126,8 @@ title: Ruby SDK 使用指南 | 七牛云存储
126
126
  :callback_body_type => callback_body_type,
127
127
  :customer => end_user_id,
128
128
  :escape => allow_upload_callback_api,
129
- :async_options => async_callback_api_commands
129
+ :async_options => async_callback_api_commands,
130
+ :return_body => custom_response_body
130
131
 
131
132
  **参数**
132
133
 
@@ -159,7 +160,11 @@ title: Ruby SDK 使用指南 | 七牛云存储
159
160
  `foo=bar&w=$(imageInfo.width)&h=$(imageInfo.height)&exif=$(exif)`
160
161
 
161
162
  :async_options
162
- : 可选,字符串类型(String),用于设置文件上传成功后,执行指定的预转指令。参见 [uploadToken 之 asyncOps 说明](http://docs.qiniutek.com/v3/api/io/#uploadToken-asyncOps)
163
+ : 可选,字符串类型(String),用于设置文件上传成功后,执行指定的预转指令。参考 [uploadToken 之 asyncOps 说明](http://docs.qiniutek.com/v3/api/io/#uploadToken-asyncOps)
164
+
165
+ :return_body
166
+ : 可选,字符串类型(String),用于设置文件上传成功后,执行七牛云存储规定的回调API,并以 JSON 响应格式返回其执行结果。参考 [uploadToken 之 returnBody 说明](/v3/api/io/#uploadToken-returnBody)。
167
+
163
168
 
164
169
  **返回值**
165
170
 
@@ -320,10 +325,10 @@ title: Ruby SDK 使用指南 | 七牛云存储
320
325
  **参数**
321
326
 
322
327
  expires_in
323
- : 可选,数字类型,用于设置上传 URL 的有效期,单位:秒,缺省为 3600 秒,即 1 小时后该上传链接不再有效。
328
+ : 可选,数字类型,用于设置上传 URL 的有效期,单位:秒,缺省为 3600 秒,即 1 小时后该下载授权凭证(downloadToken)不再有效。
324
329
 
325
330
  pattern
326
- : 可选,字符串类型,用于设置可匹配的下载链接。参考:[downloadToken pattern 详解](/v3/api/io/#download-token-pattern)
331
+ : 必须,字符串类型,用于设置可匹配的下载链接。参考:[downloadToken pattern 详解](/v3/api/io/#download-token-pattern)
327
332
 
328
333
 
329
334
  <a name="other-download-features"></a>
@@ -753,11 +758,9 @@ mogrify_options
753
758
  thumbnail = Qiniu::RS.get(target_bucket, target_key)
754
759
  puts thumbnail["url"]
755
760
 
756
- # 您可以选择将存放缩略图的 bucket 公开,这样就可以直接以外链的形式访问到缩略图,而不用走API获取下载URL
757
- result = Qiniu::RS.publish("pic.example.com", target_bucket)
761
+ # 您可以选择将存放缩略图的 bucket 公开,这样就可以直接以外链的形式访问到缩略图,而不用走API获取下载URL,就可以直接以如下方式访问缩略图:
758
762
 
759
- # 然后将 pic.example.com CNAME 到 iovip.qbox.me ,就可以直接以如下方式访问缩略图
760
- # [GET] http://pic.example.com/<target_key>
763
+ # [GET] http://<bucket>.qiniudn.com/<target_key>
761
764
  end
762
765
 
763
766
 
@@ -765,10 +768,10 @@ mogrify_options
765
768
 
766
769
  ## 贡献代码
767
770
 
768
- 七牛云存储 Ruby SDK 源码地址:[https://github.com/qiniu/ruby-sdk](https://github.com/qiniu/ruby-sdk)
771
+ 七牛云存储 Ruby SDK 源码地址:<https://github.com/qiniu/ruby-sdk>
769
772
 
770
- 1. 登录 [github.com](https://github.com)
771
- 2. Fork [https://github.com/qiniu/ruby-sdk](https://github.com/qiniu/ruby-sdk)
773
+ 1. 登录 <https://github.com>
774
+ 2. Fork <https://github.com/qiniu/ruby-sdk>
772
775
  3. 创建您的特性分支 (`git checkout -b my-new-feature`)
773
776
  4. 提交您的改动 (`git commit -am 'Added some feature'`)
774
777
  5. 将您的改动记录提交到远程 `git` 仓库 (`git push origin my-new-feature`)
data/lib/qiniu/rs.rb CHANGED
@@ -253,6 +253,7 @@ module Qiniu
253
253
  #token_obj.customer = opts[:customer]
254
254
  #token_obj.escape = opts[:escape]
255
255
  #token_obj.async_options = opts[:async_options]
256
+ #token_obj.return_body = opts[:return_body]
256
257
  token_obj.generate_token
257
258
  end
258
259
 
@@ -5,7 +5,7 @@ module Qiniu
5
5
  module Version
6
6
  MAJOR = 3
7
7
  MINOR = 4
8
- PATCH = 1
8
+ PATCH = 2
9
9
  # Returns a version string by joining <tt>MAJOR</tt>, <tt>MINOR</tt>, and <tt>PATCH</tt> with <tt>'.'</tt>
10
10
  #
11
11
  # Example
@@ -10,7 +10,7 @@ module Qiniu
10
10
 
11
11
  include Utils
12
12
 
13
- attr_accessor :scope, :expires_in, :callback_url, :callback_body_type, :customer, :escape, :async_options
13
+ attr_accessor :scope, :expires_in, :callback_url, :callback_body_type, :customer, :escape, :async_options, :return_body
14
14
 
15
15
  def initialize(opts = {})
16
16
  @scope = opts[:scope]
@@ -20,6 +20,7 @@ module Qiniu
20
20
  @customer = opts[:customer]
21
21
  @escape = opts[:escape]
22
22
  @async_options = opts[:async_options]
23
+ @return_body = opts[:return_body]
23
24
  end
24
25
 
25
26
  def generate_signature
@@ -29,6 +30,7 @@ module Qiniu
29
30
  params[:customer] = @customer if !@customer.nil? && !@customer.empty?
30
31
  params[:escape] = 1 if @escape == 1 || @escape == true
31
32
  params[:asyncOps] = @async_options if !@async_options.nil? && !@async_options.empty?
33
+ params[:returnBody] = @return_body if !@return_body.nil? && !@return_body.empty?
32
34
  Utils.urlsafe_base64_encode(params.to_json)
33
35
  end
34
36
 
@@ -24,12 +24,18 @@ module Qiniu
24
24
  :scope => @bucket,
25
25
  :expires_in => 3600,
26
26
  :customer => "why404@gmail.com",
27
- :async_options => "imageView/1/w/120/h/120"
27
+ :async_options => "imageView/1/w/120/h/120",
28
+ :return_body => '{"size":$(fsize), "hash":$(etag), "width":$(imageInfo.width), "height":$(imageInfo.height)}'
28
29
  }
29
30
  uptoken = Qiniu::RS.generate_upload_token(upopts)
30
31
  data = Qiniu::RS.upload_file :uptoken => uptoken, :file => local_file, :bucket => @bucket, :key => @key
31
32
  puts data.inspect
32
33
 
34
+ data["size"].should_not be_zero
35
+ data["hash"].should_not be_empty
36
+ data["width"].should_not be_zero
37
+ data["height"].should_not be_zero
38
+
33
39
  result = Qiniu::RS.get(@bucket, @key)
34
40
  result["url"].should_not be_empty
35
41
  puts result.inspect
data/spec/spec_helper.rb CHANGED
@@ -6,7 +6,6 @@ require 'rspec'
6
6
 
7
7
  RSpec.configure do |config|
8
8
  config.before :all do
9
- Qiniu::RS.establish_connection! :access_key => "iN7NgwM31j4-BZacMjPrOQBs34UG1maYCAQmhdCV",
10
- :secret_key => "6QTOr2Jg1gcZEWDQXKOGZh5PziC2MCV5KsntT70j"
9
+ Qiniu::RS.establish_connection! :access_key => ENV["QINIU_ACCESS_KEY"], :secret_key => ENV["QINIU_SECRET_KEY"]
11
10
  end
12
11
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qiniu-rs
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.1
4
+ version: 3.4.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-14 00:00:00.000000000 Z
12
+ date: 2013-02-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -188,7 +188,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
188
188
  version: '0'
189
189
  segments:
190
190
  - 0
191
- hash: -607371140838855446
191
+ hash: -4169114018615426400
192
192
  required_rubygems_version: !ruby/object:Gem::Requirement
193
193
  none: false
194
194
  requirements:
@@ -197,10 +197,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
197
  version: '0'
198
198
  segments:
199
199
  - 0
200
- hash: -607371140838855446
200
+ hash: -4169114018615426400
201
201
  requirements: []
202
202
  rubyforge_project:
203
- rubygems_version: 1.8.24
203
+ rubygems_version: 1.8.25
204
204
  signing_key:
205
205
  specification_version: 3
206
206
  summary: Qiniu Resource (Cloud) Storage SDK for Ruby