s3-mysql-backup 1.2.2 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +15 -0
  2. data/lib/s3utils.rb +16 -19
  3. metadata +6 -14
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZjRiY2FjOTNkZWYyNGE0MDY5YjZhZTkyYTE5Yzk2ZGRhOTQyNTdhNQ==
5
+ data.tar.gz: !binary |-
6
+ NGRkZWYwMTU0MGVkZjRiM2IxMzU2NmZkNTg0M2E5YmZjYTFhNDgzMg==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ NGI0YjFkYTdhMmNmMzViNGIzZjE3MGY1OTA3MDhmN2ZjOGJhZTZmZjIwOGEx
10
+ YjAxNWRjMGMxMzM0MGExZmQ2NGUxZTEzYTRmZjQ5YzI0OWYwYTVjMTNlZmQ2
11
+ YWJiYzY2NzJlMjlhODFmZjg3NjJhODg1N2ExZjE5Zjc1NTgwMGY=
12
+ data.tar.gz: !binary |-
13
+ NDU0MmUyZDNlMWU2NzIzYzk4ODAzNDhiMTQxYTExZjJhODQ5MGM4YWJhNTA5
14
+ NDE1M2NhOGJkOWI0YTg0MTY2ODhkNjdjNGM0Yzk3MzhkMTI3YzI0ZGE1NjM4
15
+ YWE5ZDM3OThjMmJmM2M1MTQyM2NhNjc2NDM1ZjljOWZiYjJhODI=
data/lib/s3utils.rb CHANGED
@@ -1,30 +1,26 @@
1
- require 'aws/s3'
1
+ require 'aws-sdk'
2
2
 
3
3
  # wrapper for S3 operations
4
4
  #
5
5
  class S3Utils
6
6
 
7
- def initialize(access_key_id, secret_access_key, bucket, server=nil)
8
- @bucket = bucket
9
- connect(access_key_id, secret_access_key, server)
10
- ensure_bucket_exists
7
+ def initialize(access_key_id, secret_access_key, bucket_name, server=nil)
8
+ @bucket_name = bucket_name
9
+ @s3_connection = connect(access_key_id, secret_access_key, server)
10
+ @s3_bucket = get_or_create_bucket
11
11
  self
12
12
  end
13
13
 
14
- def copy(from, to)
15
- AWS::S3::S3Object.copy(File.basename(from), File.basename(to), @bucket)
16
- end
17
-
18
14
  def store(file_path)
19
- AWS::S3::S3Object.store(File.basename(file_path), open(file_path), @bucket)
15
+ @s3_bucket.objects.create(File.basename(file_path), open(file_path))
20
16
  end
21
17
 
22
18
  def delete(file_path)
23
- AWS::S3::S3Object.delete(File.basename(file_path), @bucket)
19
+ @s3_bucket.objects[File.basename(file_path)].delete
24
20
  end
25
21
 
26
22
  def list
27
- AWS::S3::Bucket.find(@bucket).objects.each do |obj|
23
+ @s3_bucket.objects.each do |obj|
28
24
  puts "#{obj.bucket.name}/#{obj.key}"
29
25
  end
30
26
  end
@@ -33,12 +29,12 @@ class S3Utils
33
29
 
34
30
  def connect(access_key_id, secret_access_key, server=nil)
35
31
  if server == nil
36
- AWS::S3::Base.establish_connection!(
32
+ AWS::S3::new(
37
33
  :access_key_id => access_key_id,
38
34
  :secret_access_key => secret_access_key
39
35
  )
40
36
  else
41
- AWS::S3::Base.establish_connection!(
37
+ AWS::S3::new(
42
38
  :access_key_id => access_key_id,
43
39
  :secret_access_key => secret_access_key,
44
40
  :server => server
@@ -46,11 +42,12 @@ class S3Utils
46
42
  end
47
43
  end
48
44
 
49
- def ensure_bucket_exists
50
- AWS::S3::Bucket.find(@bucket)
51
-
52
- rescue AWS::S3::NoSuchBucket
53
- AWS::S3::Bucket.create(@bucket)
45
+ def get_or_create_bucket
46
+ if @s3_connection.buckets[@bucket_name].exists?
47
+ @s3_connection.buckets[@bucket_name]
48
+ else
49
+ @s3_connection.buckets.create(@bucket_name)
50
+ end
54
51
  end
55
52
 
56
53
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: s3-mysql-backup
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
5
- prerelease:
4
+ version: 2.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jeff Emminger
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-06-01 00:00:00.000000000 Z
11
+ date: 2013-09-10 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: aws-s3
14
+ name: aws-sdk
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rspec
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rr
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -76,28 +69,27 @@ files:
76
69
  - bin/s3-mysql-backup
77
70
  homepage: https://github.com/7compass/s3-mysql-backup
78
71
  licenses: []
72
+ metadata: {}
79
73
  post_install_message:
80
74
  rdoc_options: []
81
75
  require_paths:
82
76
  - .
83
77
  - lib
84
78
  required_ruby_version: !ruby/object:Gem::Requirement
85
- none: false
86
79
  requirements:
87
80
  - - ! '>='
88
81
  - !ruby/object:Gem::Version
89
82
  version: '0'
90
83
  required_rubygems_version: !ruby/object:Gem::Requirement
91
- none: false
92
84
  requirements:
93
85
  - - ! '>='
94
86
  - !ruby/object:Gem::Version
95
87
  version: '0'
96
88
  requirements: []
97
89
  rubyforge_project:
98
- rubygems_version: 1.8.25
90
+ rubygems_version: 2.0.6
99
91
  signing_key:
100
- specification_version: 3
92
+ specification_version: 4
101
93
  summary: Simple mysql backup to S3
102
94
  test_files:
103
95
  - spec/s3_mysql_backup_spec.rb