backup 3.0.9 → 3.0.10
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/lib/backup/syncer/s3.rb
CHANGED
@@ -20,6 +20,10 @@ module Backup
|
|
20
20
|
# Flag to enable mirroring
|
21
21
|
attr_accessor :mirror
|
22
22
|
|
23
|
+
##
|
24
|
+
# Additional options for the s3sync cli
|
25
|
+
attr_accessor :additional_options
|
26
|
+
|
23
27
|
##
|
24
28
|
# Instantiates a new S3 Syncer object and sets the default configuration
|
25
29
|
# specified in the Backup::Configuration::Syncer::S3. Then it sets the object
|
@@ -28,9 +32,10 @@ module Backup
|
|
28
32
|
def initialize(&block)
|
29
33
|
load_defaults!
|
30
34
|
|
31
|
-
@path
|
32
|
-
@directories
|
33
|
-
@mirror
|
35
|
+
@path ||= 'backups'
|
36
|
+
@directories ||= Array.new
|
37
|
+
@mirror ||= false
|
38
|
+
@additional_options ||= []
|
34
39
|
|
35
40
|
instance_eval(&block) if block_given?
|
36
41
|
|
@@ -56,7 +61,7 @@ module Backup
|
|
56
61
|
##
|
57
62
|
# Returns all the specified S3Sync options, concatenated, ready for the CLI
|
58
63
|
def options
|
59
|
-
[verbose, recursive, mirror].compact.join("\s")
|
64
|
+
([verbose, recursive, mirror] + additional_options).compact.join("\s")
|
60
65
|
end
|
61
66
|
|
62
67
|
##
|
data/lib/backup/version.rb
CHANGED
@@ -0,0 +1,43 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
4
|
+
|
5
|
+
describe Backup::Configuration::Syncer::S3 do
|
6
|
+
before do
|
7
|
+
Backup::Configuration::Syncer::S3.defaults do |s3|
|
8
|
+
s3.access_key_id = 'my_access_key_id'
|
9
|
+
s3.secret_access_key = 'my_secret_access_key'
|
10
|
+
s3.bucket = 'my-bucket'
|
11
|
+
s3.path = '/backups/'
|
12
|
+
s3.directories = '/directories/to/backup/'
|
13
|
+
s3.mirror = true
|
14
|
+
s3.additional_options = ['--exclude="*.rb"']
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'should set the default s3 configuration' do
|
19
|
+
s3 = Backup::Configuration::Syncer::S3
|
20
|
+
s3.access_key_id.should == 'my_access_key_id'
|
21
|
+
s3.secret_access_key.should == 'my_secret_access_key'
|
22
|
+
s3.bucket.should == 'my-bucket'
|
23
|
+
s3.path.should == '/backups/'
|
24
|
+
s3.directories.should == '/directories/to/backup/'
|
25
|
+
s3.mirror.should == true
|
26
|
+
s3.additional_options.should == ['--exclude="*.rb"']
|
27
|
+
end
|
28
|
+
|
29
|
+
describe '#clear_defaults!' do
|
30
|
+
it 'should clear all the defaults, resetting them to nil' do
|
31
|
+
Backup::Configuration::Syncer::S3.clear_defaults!
|
32
|
+
|
33
|
+
s3 = Backup::Configuration::Syncer::S3
|
34
|
+
s3.access_key_id.should == nil
|
35
|
+
s3.secret_access_key.should == nil
|
36
|
+
s3.bucket.should == nil
|
37
|
+
s3.path.should == nil
|
38
|
+
s3.directories.should == nil
|
39
|
+
s3.mirror.should == nil
|
40
|
+
s3.additional_options.should == nil
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/spec/syncer/s3_spec.rb
CHANGED
@@ -57,6 +57,7 @@ describe Backup::Syncer::S3 do
|
|
57
57
|
s3.path.should == 'backups'
|
58
58
|
s3.directories.should == Array.new
|
59
59
|
s3.mirror.should == nil
|
60
|
+
s3.additional_options.should == []
|
60
61
|
end
|
61
62
|
|
62
63
|
describe '#mirror' do
|
@@ -86,6 +87,13 @@ describe Backup::Syncer::S3 do
|
|
86
87
|
end
|
87
88
|
end
|
88
89
|
|
90
|
+
describe '#additional_options' do
|
91
|
+
it do
|
92
|
+
s3.additional_options = ['--exclude="*.rb"']
|
93
|
+
s3.options.should == '--verbose --recursive --delete --exclude="*.rb"'
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
89
97
|
describe '#verbose' do
|
90
98
|
it do
|
91
99
|
s3.verbose.should == '--verbose'
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: backup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 3.0.
|
5
|
+
version: 3.0.10
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Michael van Rooijen
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-03-
|
13
|
+
date: 2011-03-20 00:00:00 +01:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -144,6 +144,7 @@ files:
|
|
144
144
|
- spec/configuration/storage/scp_spec.rb
|
145
145
|
- spec/configuration/storage/sftp_spec.rb
|
146
146
|
- spec/configuration/syncer/rsync_spec.rb
|
147
|
+
- spec/configuration/syncer/s3_spec.rb
|
147
148
|
- spec/database/base_spec.rb
|
148
149
|
- spec/database/mongodb_spec.rb
|
149
150
|
- spec/database/mysql_spec.rb
|