qiniu-rs 3.4.1 → 3.4.2

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.
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