backup2qiniu 0.1.1 → 0.2.0

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/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- backup2qiniu (0.1.1)
4
+ backup2qiniu (0.2.0)
5
5
  backup (~> 3.0)
6
- qiniu-rs (>= 2.0, < 4)
6
+ qiniu-rs (~> 3.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
data/NEWS.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # NEWS
2
2
 
3
+ ## 0.2.0 (2012-08-26)
4
+
5
+ * support cycling.
6
+ * use new upload API (require qiniu-rs 3.x)
7
+
3
8
  ## 0.1.1 (2012-08-19)
4
9
 
5
10
  * support qiniu-rs 3.x.
data/README.md CHANGED
@@ -28,6 +28,7 @@ Backup::Model.new(:mysql_backup_qiniu, 'example backup to qiniu') do
28
28
  end
29
29
 
30
30
  store_with Qiniu do |eb|
31
+ eb.keep = 7
31
32
  eb.access_key = 'replace with access key'
32
33
  eb.access_secret = 'replace with access secret'
33
34
  eb.bucket = 'backup'
data/backup2qiniu.gemspec CHANGED
@@ -15,5 +15,5 @@ Gem::Specification.new do |gem|
15
15
  gem.require_paths = ["lib"]
16
16
  gem.version = Backup2qiniu::VERSION
17
17
  gem.add_dependency 'backup', '~> 3.0'
18
- gem.add_dependency 'qiniu-rs', ['>= 2.0', '< 4']
18
+ gem.add_dependency 'qiniu-rs', '~> 3.0'
19
19
  end
@@ -20,25 +20,42 @@ module Backup
20
20
  ''
21
21
  end
22
22
 
23
- def transfer!
24
- ::Qiniu::RS.establish_connection! :access_key => access_key,
25
- :secret_key => access_secret
23
+ def remove!(pkg)
24
+ remote_path = remote_path_for(pkg)
25
+ establish_connection!
26
+ transferred_files_for(pkg) do |local_file, remote_file|
27
+ Logger.message "#{storage_name} started removing " +
28
+ "'#{ local_file }' from bucket '#{ bucket }'."
29
+ key = File.join(remote_path, remote_file)
30
+ unless ::Qiniu::RS.delete(bucket, key)
31
+ raise "delete '#{key}' failed"
32
+ end
33
+ end
34
+ end
26
35
 
36
+ def transfer!
37
+ establish_connection!
27
38
  remote_path = remote_path_for(@package)
28
39
  files_to_transfer_for(@package) do |local_file, remote_file|
29
40
  Logger.message "#{storage_name} started transferring " +
30
41
  "'#{ local_file }'."
31
- remote_upload_url = ::Qiniu::RS.put_auth
32
- raise "auth failed" if ! remote_upload_url
42
+ upload_token = ::Qiniu::RS.generate_upload_token :scope => bucket
33
43
  key = File.join(remote_path, remote_file)
34
- ::Qiniu::RS.upload :url => remote_upload_url,
44
+ res = ::Qiniu::RS.upload_file :uptoken => upload_token,
35
45
  :file => File.join(local_path, local_file),
36
46
  :key => key,
37
47
  :bucket => bucket,
38
48
  :enable_crc32_check => true
49
+ raise "upload '#{local_file}' failed" if res == false
39
50
  Logger.message "file uploaded to bucket:#{bucket}, key:#{key}"
40
51
  end
41
52
  end
53
+
54
+ private
55
+ def establish_connection!
56
+ ::Qiniu::RS.establish_connection! :access_key => access_key,
57
+ :secret_key => access_secret
58
+ end
42
59
  end
43
60
  end
44
61
  end
@@ -1,3 +1,3 @@
1
1
  module Backup2qiniu
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: backup2qiniu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
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: 2012-08-19 00:00:00.000000000 Z
12
+ date: 2012-08-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: backup
@@ -32,23 +32,17 @@ dependencies:
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '2.0'
38
- - - <
35
+ - - ~>
39
36
  - !ruby/object:Gem::Version
40
- version: '4'
37
+ version: '3.0'
41
38
  type: :runtime
42
39
  prerelease: false
43
40
  version_requirements: !ruby/object:Gem::Requirement
44
41
  none: false
45
42
  requirements:
46
- - - ! '>='
47
- - !ruby/object:Gem::Version
48
- version: '2.0'
49
- - - <
43
+ - - ~>
50
44
  - !ruby/object:Gem::Version
51
- version: '4'
45
+ version: '3.0'
52
46
  description: backup to qiniutek.com
53
47
  email:
54
48
  - lidaobing@gmail.com