qiniu-rs 3.4.2 → 3.4.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,9 +7,8 @@ rvm:
7
7
  - jruby-19mode
8
8
  - rbx-18mode
9
9
  - rbx-19mode
10
- - ruby-head
11
10
  - jruby-head
12
11
  - ree
13
12
  before_script:
14
- - export QINIU_ACCESS_KEY=iN7NgwM31j4-BZacMjPrOQBs34UG1maYCAQmhdCV
15
- - export QINIU_SECRET_KEY=6QTOr2Jg1gcZEWDQXKOGZh5PziC2MCV5KsntT70j
13
+ - export QINIU_ACCESS_KEY=LGRqJsjX7LAvtdtX6hhyxs861lS57HwnOQmJsOuX
14
+ - export QINIU_SECRET_KEY=g_OxhuN5iJ1O7BoA6YdXyF6zSszk34UZFKDfdIIW
@@ -1,12 +1,10 @@
1
1
  ---
2
- title: Ruby SDK 使用指南 | 七牛云存储
2
+ title: Ruby SDK
3
3
  ---
4
4
 
5
- # Ruby SDK 使用指南
5
+ Ruby SDK 适用于 Ruby 1.8.x, 1.9.x, jruby, rbx, ree 版本,基于 [七牛云存储官方API](http://docs.qiniu.com/) 构建。使用此 SDK 构建您的网络应用程序,能让您以非常便捷地方式将数据安全地存储到七牛云存储上。无论您的网络应用是一个网站程序,还是包括从云端(服务端程序)到终端(手持设备应用)的架构的服务或应用,通过七牛云存储及其 SDK,都能让您应用程序的终端用户高速上传和下载,同时也让您的服务端更加轻盈。
6
6
 
7
- Ruby SDK 适用于 Ruby 1.8.x, 1.9.x, jruby, rbx, ree 版本,基于 [七牛云存储官方API](/v3/api/) 构建。使用此 SDK 构建您的网络应用程序,能让您以非常便捷地方式将数据安全地存储到七牛云存储上。无论您的网络应用是一个网站程序,还是包括从云端(服务端程序)到终端(手持设备应用)的架构的服务或应用,通过七牛云存储及其 SDK,都能让您应用程序的终端用户高速上传和下载,同时也让您的服务端更加轻盈。
8
-
9
- 七牛云存储 Ruby SDK 源码地址:<https://github.com/qiniu/ruby-sdk> [![Build Status](https://api.travis-ci.org/qiniu/ruby-sdk.png?branch=master)](https://travis-ci.org/qiniu/ruby-sdk) [![Dependency Status](https://gemnasium.com/why404/qiniu-rs-for-ruby.png)](https://gemnasium.com/why404/qiniu-rs-for-ruby)
7
+ 七牛云存储 Ruby SDK 源码地址:<https://github.com/qiniu/ruby-sdk>
10
8
 
11
9
  **目录**
12
10
 
@@ -76,8 +74,8 @@ title: Ruby SDK 使用指南 | 七牛云存储
76
74
 
77
75
  要接入七牛云存储,您需要拥有一对有效的 Access Key 和 Secret Key 用来进行签名认证。可以通过如下步骤获得:
78
76
 
79
- 1. [开通七牛开发者帐号](https://dev.qiniutek.com/signup)
80
- 2. [登录七牛开发者自助平台,查看 Access Key 和 Secret Key](https://dev.qiniutek.com/account/keys)
77
+ 1. [开通七牛开发者帐号](https://portal.qiniu.com/signup)
78
+ 2. [登录七牛开发者自助平台,查看 Access Key 和 Secret Key](https://portal.qiniu.com/setting/key)
81
79
 
82
80
  在获取到 Access Key 和 Secret Key 之后,您可以在您的程序中调用如下两行代码进行初始化对接:
83
81
 
@@ -110,7 +108,7 @@ title: Ruby SDK 使用指南 | 七牛云存储
110
108
 
111
109
  ### 文件上传
112
110
 
113
- **注意**:如果您只是想要上传已存在您电脑本地或者是服务器上的文件到七牛云存储,可以直接使用七牛提供的 [qrsync](/v3/tools/qrsync/) 上传工具。如果是需要通过您的网站或是移动应用(App)上传文件,则可以接入使用此 SDK,详情参考如下文档说明。
111
+ **注意**:如果您只是想要上传已存在您电脑本地或者是服务器上的文件到七牛云存储,可以直接使用七牛提供的 [qrsync](http://docs.qiniu.com/tools/qrsync.html) 上传工具。如果是需要通过您的网站或是移动应用(App)上传文件,则可以接入使用此 SDK,详情参考如下文档说明。
114
112
 
115
113
  <a name="generate-upload-token"></a>
116
114
 
@@ -123,6 +121,7 @@ title: Ruby SDK 使用指南 | 七牛云存储
123
121
  Qiniu::RS.generate_upload_token :scope => target_bucket,
124
122
  :expires_in => expires_in_seconds,
125
123
  :callback_url => callback_url,
124
+ :callback_body => callback_body,
126
125
  :callback_body_type => callback_body_type,
127
126
  :customer => end_user_id,
128
127
  :escape => allow_upload_callback_api,
@@ -140,6 +139,9 @@ title: Ruby SDK 使用指南 | 七牛云存储
140
139
  :callback_url
141
140
  : 可选,字符串类型(String),用于设置文件上传成功后,七牛云存储服务端要回调客户方的业务服务器地址。
142
141
 
142
+ :callback_body
143
+ : 可选,字符串类型(String),用于设置文件上传成功后,七牛云存储服务端向客户方的业务服务器发送回调请求的值。
144
+
143
145
  :callback_body_type
144
146
  : 可选,字符串类型(String),用于设置文件上传成功后,七牛云存储服务端向客户方的业务服务器发送回调请求的 `Content-Type`。
145
147
 
@@ -147,15 +149,15 @@ title: Ruby SDK 使用指南 | 七牛云存储
147
149
  : 可选,字符串类型(String),客户方终端用户(End User)的ID,该字段可以用来标示一个文件的属主,这在一些特殊场景下(比如给终端用户上传的图片打上名字水印)非常有用。
148
150
 
149
151
  :escape
150
- : 可选,数字类型,可选值 0 或者 1,缺省为 0 。值为 1 表示 callback 传递的自定义数据中允许存在转义符号 `$(VarExpression)`,参考 [VarExpression](/v3/api/words/#VarExpression)。
152
+ : 可选,数字类型,可选值 0 或者 1,缺省为 0 。值为 1 表示 callback 传递的自定义数据中允许存在转义符号 `$(VarExpression)`,参考 [VarExpression](http://docs.qiniutek.com/v3/api/words/#VarExpression)。
151
153
 
152
154
  当 `escape` 的值为 `1` 时,常见的转义语法如下:
153
155
 
154
- - 若 `callbackBodyType` 为 `application/json` 时,一个典型的自定义回调数据([CallbackParams](/v3/api/io/#CallbackParams))为:
156
+ - 若 `callbackBodyType` 为 `application/json` 时,一个典型的自定义回调数据([CallbackParams](http://docs.qiniutek.com/v3/api/io/#CallbackParams))为:
155
157
 
156
158
  `{foo: "bar", w: $(imageInfo.width), h: $(imageInfo.height), exif: $(exif)}`
157
159
 
158
- - 若 `callbackBodyType` 为 `application/x-www-form-urlencoded` 时,一个典型的自定义回调数据([CallbackParams](/v3/api/io/#CallbackParams))为:
160
+ - 若 `callbackBodyType` 为 `application/x-www-form-urlencoded` 时,一个典型的自定义回调数据([CallbackParams](http://docs.qiniutek.com/v3/api/io/#CallbackParams))为:
159
161
 
160
162
  `foo=bar&w=$(imageInfo.width)&h=$(imageInfo.height)&exif=$(exif)`
161
163
 
@@ -163,7 +165,7 @@ title: Ruby SDK 使用指南 | 七牛云存储
163
165
  : 可选,字符串类型(String),用于设置文件上传成功后,执行指定的预转指令。参考 [uploadToken 之 asyncOps 说明](http://docs.qiniutek.com/v3/api/io/#uploadToken-asyncOps)
164
166
 
165
167
  :return_body
166
- : 可选,字符串类型(String),用于设置文件上传成功后,执行七牛云存储规定的回调API,并以 JSON 响应格式返回其执行结果。参考 [uploadToken 之 returnBody 说明](/v3/api/io/#uploadToken-returnBody)。
168
+ : 可选,字符串类型(String),用于设置文件上传成功后,执行七牛云存储规定的回调API,并以 JSON 响应格式返回其执行结果。参考 [uploadToken 之 returnBody 说明](http://docs.qiniutek.com/v3/api/io/#uploadToken-returnBody)。
167
169
 
168
170
 
169
171
  **返回值**
@@ -227,7 +229,7 @@ title: Ruby SDK 使用指南 | 七牛云存储
227
229
 
228
230
  ##### 开启断点续上传
229
231
 
230
- 无需任何额外改动,SDK 提供的 `Qiniu::RS.upload_file()` 方法缺省支持断点续上传。默认情况下,SDK 会自动启用断点续上传的方式来上传超过 4MB 大小的文件。您也可以在 [应用接入](/v3/sdk/ruby/#establish_connection!) 时通过修改缺省配置来设置该阀值:
232
+ 无需任何额外改动,SDK 提供的 `Qiniu::RS.upload_file()` 方法缺省支持断点续上传。默认情况下,SDK 会自动启用断点续上传的方式来上传超过 4MB 大小的文件。您也可以在 [应用接入](http://docs.qiniutek.com/v3/sdk/ruby/#establish_connection!) 时通过修改缺省配置来设置该阀值:
231
233
 
232
234
  Qiniu::RS.establish_connection! :access_key => YOUR_APP_ACCESS_KEY,
233
235
  :secret_key => YOUR_APP_SECRET_KEY,
@@ -270,9 +272,9 @@ title: Ruby SDK 使用指南 | 七牛云存储
270
272
  简单来讲,客户端上传流程分为两步:
271
273
 
272
274
  1. [服务端生成上传授权凭证(uploadToken)](#generate-upload-token)
273
- 2. 客户端程序调用 [iOS](/v3/sdk/objc/) / [Android](/v3/sdk/android/) SDK 的文件上传方法进行上传
275
+ 2. 客户端程序调用 [iOS](http://docs.qiniu.com/ios-sdk/index.html) / [Android](http://docs.qiniu.com/android-sdk/index.html) SDK 的文件上传方法进行上传
274
276
 
275
- 如果是网页直传文件到七牛云存储,网页可以使用 JavaScript 动态实现 [七牛云存储上传API](/v3/api/io/#upload-file-by-html-form)。
277
+ 如果是网页直传文件到七牛云存储,网页可以使用 JavaScript 动态实现 [七牛云存储上传API](http://docs.qiniutek.com/v3/api/io/#upload-file-by-html-form)。
276
278
 
277
279
  通过客户端直传文件,您的终端用户即可把数据(比如图片或视频)直接上传到七牛云存储服务器上,而无须经由您的服务端中转,终端用户上传数据始终是离他物理距离最近的七牛存储节点。当终端用户上传成功后,七牛云存储服务端会向您指定的 `callback_url` (一般在 [uploadToken](#generate-upload-token) 里边指定)发送回调数据(回调数据在客户端程序里边指定)。如果 `callback_url` 所指向的服务端处理完毕后输出 `JSON` 格式的数据,七牛云存储服务端会将该回调请求所得的 JSON 响应信息原封不动地返回给客户端应用程序。
278
280
 
@@ -297,9 +299,9 @@ title: Ruby SDK 使用指南 | 七牛云存储
297
299
 
298
300
  [GET] http://<绑定域名>/<key>
299
301
 
300
- 绑定域名可以是自定义域名,可以在 [七牛云存储开发者自助网站](https://dev.qiniutek.com/buckets) 进行域名绑定操作。
302
+ 绑定域名可以是自定义域名,可以在 [七牛云存储开发者自助网站](https://portal.qiniu.com/) 进行域名绑定操作。
301
303
 
302
- 注意,尖括号不是必需,代表替换项。
304
+ **注意**,尖括号不是必需,代表替换项。
303
305
 
304
306
  <a name="download-private-files"></a>
305
307
 
@@ -328,7 +330,7 @@ expires_in
328
330
  : 可选,数字类型,用于设置上传 URL 的有效期,单位:秒,缺省为 3600 秒,即 1 小时后该下载授权凭证(downloadToken)不再有效。
329
331
 
330
332
  pattern
331
- : 必须,字符串类型,用于设置可匹配的下载链接。参考:[downloadToken pattern 详解](/v3/api/io/#download-token-pattern)
333
+ : 可选,字符串类型,用于设置可匹配的下载链接。参考:[downloadToken pattern 详解](http://docs.qiniutek.com/v3/api/io/#download-token-pattern)
332
334
 
333
335
 
334
336
  <a name="other-download-features"></a>
@@ -339,7 +341,7 @@ pattern
339
341
 
340
342
  ##### 断点续下载
341
343
 
342
- 七牛云存储支持标准的断点续下载,参考:[云存储API之断点续下载](/v3/api/io/#download-by-range-bytes)
344
+ 七牛云存储支持标准的断点续下载,参考:[云存储API之断点续下载](http://docs.qiniu.com/api/get.html#download-by-range-bytes)
343
345
 
344
346
  <a name="upload-file-for-not-found"></a>
345
347
 
@@ -347,7 +349,7 @@ pattern
347
349
 
348
350
  您可以上传一个应对 HTTP 404 出错处理的文件,当用户访问一个不存在的文件时,即可使用您上传的“自定义404文件”代替之。要这么做,您只须使用 `Qiniu::RS.upload_file` 函数上传一个 `key` 为固定字符串类型的值 `errno-404` 即可。
349
351
 
350
- 除了使用 SDK 提供的方法,同样也可以借助七牛云存储提供的命令行辅助工具 [qboxrsctl](/v3/tools/qboxrsctl/) 达到同样的目的:
352
+ 除了使用 SDK 提供的方法,同样也可以借助七牛云存储提供的命令行辅助工具 [qboxrsctl](http://docs.qiniu.com/tools/qboxrsctl.html) 达到同样的目的:
351
353
 
352
354
  qboxrsctl put <Bucket> <Key> <LocalFile>
353
355
 
@@ -687,7 +689,7 @@ mogrify_options
687
689
  :auto_orient => <TrueOrFalse>
688
690
  }
689
691
 
690
- `Qiniu::RS.image_mogrify_preview_url()` 方法是对七牛云存储图像处理高级接口的完整包装,关于 `mogrify_options` 参数里边的具体含义和使用方式,可以参考文档:[图像处理高级接口](/v3/api/foimg/#fo-imageMogr)。
692
+ `Qiniu::RS.image_mogrify_preview_url()` 方法是对七牛云存储图像处理高级接口的完整包装,关于 `mogrify_options` 参数里边的具体含义和使用方式,可以参考文档:[图像处理高级接口](http://docs.qiniu.com/api/image-process.html#imageMogr)。
691
693
 
692
694
  **返回值**
693
695
 
@@ -727,7 +729,7 @@ mogrify_options
727
729
  :auto_orient => <TrueOrFalse>
728
730
  }
729
731
 
730
- `Qiniu::RS::Image.mogrify_preview_url()` 方法是对七牛云存储图像处理高级接口的完整包装,关于 `mogrify_options` 参数里边的具体含义和使用方式,可以参考文档:[图像处理高级接口](/v3/api/foimg/#fo-imageMogr)
732
+ `Qiniu::RS::Image.mogrify_preview_url()` 方法是对七牛云存储图像处理高级接口的完整包装,关于 `mogrify_options` 参数里边的具体含义和使用方式,可以参考文档:[图像处理高级接口](http://docs.qiniu.com/api/image-process.html#imageMogr)
731
733
 
732
734
  **返回值**
733
735
 
@@ -5,7 +5,7 @@ module Qiniu
5
5
  module Version
6
6
  MAJOR = 3
7
7
  MINOR = 4
8
- PATCH = 2
8
+ PATCH = 4
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,27 +10,31 @@ 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, :return_body
13
+ attr_accessor :scope, :expires_in, :callback_url, :callback_body, :callback_body_type, :customer, :escape, :async_options, :return_body, :return_url
14
14
 
15
15
  def initialize(opts = {})
16
16
  @scope = opts[:scope]
17
17
  @expires_in = opts[:expires_in] || 3600
18
18
  @callback_url = opts[:callback_url]
19
+ @callback_body = opts[:callback_body]
19
20
  @callback_body_type = opts[:callback_body_type]
20
21
  @customer = opts[:customer]
21
22
  @escape = opts[:escape]
22
23
  @async_options = opts[:async_options]
23
24
  @return_body = opts[:return_body]
25
+ @return_url = opts[:return_url]
24
26
  end
25
27
 
26
28
  def generate_signature
27
29
  params = {:scope => @scope, :deadline => Time.now.to_i + @expires_in}
28
30
  params[:callbackUrl] = @callback_url if !@callback_url.nil? && !@callback_url.empty?
31
+ params[:callbackBody] = @callback_body if !@callback_body.nil? && !@callback_body.empty?
29
32
  params[:callbackBodyType] = @callback_body_type if !@callback_body_type.nil? && !@callback_body_type.empty?
30
33
  params[:customer] = @customer if !@customer.nil? && !@customer.empty?
31
34
  params[:escape] = 1 if @escape == 1 || @escape == true
32
35
  params[:asyncOps] = @async_options if !@async_options.nil? && !@async_options.empty?
33
36
  params[:returnBody] = @return_body if !@return_body.nil? && !@return_body.empty?
37
+ params[:returnUrl] = @return_url if !@return_url.nil? && !@return_url.empty?
34
38
  Utils.urlsafe_base64_encode(params.to_json)
35
39
  end
36
40
 
@@ -5,7 +5,7 @@ require File.expand_path('../lib/qiniu/rs/version', __FILE__)
5
5
  Gem::Specification.new do |gem|
6
6
  gem.authors = ["why404"]
7
7
  gem.email = ["why404@gmail.com"]
8
- gem.description = %q{Qiniu Resource (Cloud) Storage SDK for Ruby. See: http://docs.qiniutek.com/v3/sdk/ruby/}
8
+ gem.description = %q{Qiniu Resource (Cloud) Storage SDK for Ruby. See: http://docs.qiniu.com/ruby-sdk/}
9
9
  gem.summary = %q{Qiniu Resource (Cloud) Storage SDK for Ruby}
10
10
  gem.homepage = "https://github.com/qiniu/ruby-sdk"
11
11
 
@@ -136,18 +136,6 @@ module Qiniu
136
136
  end
137
137
  =end
138
138
 
139
- context ".copy" do
140
- it "should works" do
141
- code, data = Qiniu::RS::RS.copy(@bucket, @key, @bucket, @key2)
142
- code.should == 200
143
- puts data.inspect
144
-
145
- #code2, data2 = Qiniu::RS::RS.stat(@bucket, @key2)
146
- #code2.should == 200
147
- #puts data2.inspect
148
- end
149
- end
150
-
151
139
  context ".move" do
152
140
  it "should works" do
153
141
  code, data = Qiniu::RS::RS.move(@bucket, @key, @bucket, @key2)
@@ -164,6 +152,18 @@ module Qiniu
164
152
  end
165
153
  end
166
154
 
155
+ context ".copy" do
156
+ it "should works" do
157
+ code, data = Qiniu::RS::RS.copy(@bucket, @key, @bucket, @key2)
158
+ code.should == 200
159
+ puts data.inspect
160
+
161
+ #code2, data2 = Qiniu::RS::RS.stat(@bucket, @key2)
162
+ #code2.should == 200
163
+ #puts data2.inspect
164
+ end
165
+ end
166
+
167
167
  context ".delete" do
168
168
  it "should works" do
169
169
  code, data = Qiniu::RS::RS.delete(@bucket, @key)
@@ -319,16 +319,6 @@ module Qiniu
319
319
  end
320
320
  end
321
321
 
322
- context ".copy" do
323
- it "should works" do
324
- result = Qiniu::RS.copy(@bucket, @key, @bucket, @key2)
325
- result.should_not be_false
326
-
327
- #result2 = Qiniu::RS.stat(@bucket, @key2)
328
- #result2.should_not be_false
329
- end
330
- end
331
-
332
322
  context ".move" do
333
323
  it "should works" do
334
324
  result = Qiniu::RS.move(@bucket, @key, @bucket, @key2)
@@ -342,6 +332,16 @@ module Qiniu
342
332
  end
343
333
  end
344
334
 
335
+ context ".copy" do
336
+ it "should works" do
337
+ result = Qiniu::RS.copy(@bucket, @key, @bucket, @key2)
338
+ result.should_not be_false
339
+
340
+ #result2 = Qiniu::RS.stat(@bucket, @key2)
341
+ #result2.should_not be_false
342
+ end
343
+ end
344
+
345
345
  context ".delete" do
346
346
  it "should works" do
347
347
  result = Qiniu::RS.delete(@bucket, @key)
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.2
4
+ version: 3.4.4
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-02-06 00:00:00.000000000 Z
12
+ date: 2013-07-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -123,7 +123,7 @@ dependencies:
123
123
  - - ~>
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0.4'
126
- description: ! 'Qiniu Resource (Cloud) Storage SDK for Ruby. See: http://docs.qiniutek.com/v3/sdk/ruby/'
126
+ description: ! 'Qiniu Resource (Cloud) Storage SDK for Ruby. See: http://docs.qiniu.com/ruby-sdk/'
127
127
  email:
128
128
  - why404@gmail.com
129
129
  executables: []
@@ -186,18 +186,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
186
186
  - - ! '>='
187
187
  - !ruby/object:Gem::Version
188
188
  version: '0'
189
- segments:
190
- - 0
191
- hash: -4169114018615426400
192
189
  required_rubygems_version: !ruby/object:Gem::Requirement
193
190
  none: false
194
191
  requirements:
195
192
  - - ! '>='
196
193
  - !ruby/object:Gem::Version
197
194
  version: '0'
198
- segments:
199
- - 0
200
- hash: -4169114018615426400
201
195
  requirements: []
202
196
  rubyforge_project:
203
197
  rubygems_version: 1.8.25