cloud-backup 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,9 +1,48 @@
1
1
  = cloud-backup
2
2
 
3
- Description goes here.
3
+ Backup to multiple cloud storage engines easily!
4
+
5
+ Backup to cloud services with ease and easily plug or unplug the storage
6
+ service that you might prefer.
7
+
8
+ If it doesn't exist you can contribute, or you can create
9
+ a driver class and use it locally!
10
+
11
+ == Example usage:
12
+
13
+ require 'rubygems'
14
+ require 'cloud-backup'
15
+
16
+ # The idea is that you can plug and unplug drivers with ease, each one
17
+ # supporting different storage services like s3, cloudfiles, google
18
+ # storage, etc.
19
+
20
+ # NOTE: Files must exist!
21
+ # ==============================================================================
22
+ files = ['/tmp/kz0', '/tmp/kz1', '/tmp/kz2']
23
+
24
+
25
+ # Use the RackCloud-driver to store data in rackspace!
26
+ # ==============================================================================
27
+ mysql = RackCloudBackupDriver.new { :id => 'xx', :key => 'xx', :bucket => 'xx' }
28
+
29
+ # Use the Log-driver to log or display what is being executed.
30
+ # ==============================================================================
31
+ log = LogBackupDriver.new STDOUT
32
+
33
+
34
+ # Stack Drivers and execute!
35
+ # ==============================================================================
36
+ stack = CloudBackup::DriverStack.new
37
+ stack.add_driver mysql
38
+ stack.add_driver log
39
+ stack.add_files files
40
+
41
+ stack.perform_backup!
42
+
4
43
 
5
44
  == Note on Patches/Pull Requests
6
-
45
+
7
46
  * Fork the project.
8
47
  * Make your feature addition or bug fix.
9
48
  * Add tests for it. This is important so I don't break it in a
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{cloud-backup}
8
- s.version = "0.0.1"
8
+ s.version = "0.0.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["kazuyoshi tlacaelel"]
12
- s.date = %q{2010-07-14}
12
+ s.date = %q{2010-07-15}
13
13
  s.description = %q{Backup to different clouds or create a driver and extend functionality!}
14
14
  s.email = %q{kazu.dev@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -29,30 +29,6 @@ module CloudBackup
29
29
  raise Error.must_define :initiate
30
30
  end
31
31
 
32
- # Driver Identificator
33
- #
34
- # Specifies the *identificator* where the resources will be
35
- # installed.
36
- #
37
- # For example: If you are storing data into Google-Storage, or
38
- # S3 this could be a bucket-name.
39
- #
40
- # Note: each driver may specify different types of identificators
41
- # or implement it's own methods depending on the storage-engine
42
- # that is being used.
43
- #
44
- def identificator
45
- raise Error.must_define :identificator
46
- end
47
-
48
- # Identificator changer
49
- #
50
- # Allows the client to change the identificator
51
- #
52
- def identificator name
53
- raise Error.must_define :identificator=
54
- end
55
-
56
32
  # File aggregator
57
33
  #
58
34
  # Adds a file to be backed up by the driver, path might be an
@@ -8,14 +8,6 @@ class LogBackupDriver < CloudBackup::Driver
8
8
  output 'Initiating execution'
9
9
  end
10
10
 
11
- def identificator
12
- @identificator
13
- end
14
-
15
- def identificator= name
16
- @identificator = name
17
- end
18
-
19
11
  def list_by_date
20
12
  output 'Listing driver items by date'
21
13
  list.each do |file|
@@ -5,6 +5,7 @@ class RackCloudBackupDriver < CloudBackup::Driver
5
5
  def initialize credentials
6
6
  @id = credentials[:id]
7
7
  @key = credentials[:key]
8
+ @identificator = credentials[:bucket]
8
9
  @cf = CloudFiles::Connection.new(@id, @key)
9
10
  end
10
11
 
@@ -12,14 +13,6 @@ class RackCloudBackupDriver < CloudBackup::Driver
12
13
  @bucket = get_or_create_bucket
13
14
  end
14
15
 
15
- def identificator
16
- @identificator
17
- end
18
-
19
- def identificator= name
20
- @identificator = name
21
- end
22
-
23
16
  # TODO: parse metadata
24
17
  def list_by_date
25
18
  @bucket.objects
@@ -44,10 +37,10 @@ class RackCloudBackupDriver < CloudBackup::Driver
44
37
  private
45
38
 
46
39
  def get_or_create_bucket
47
- unless @cf.containers.include? identificator
48
- @cf.create_container identificator
40
+ unless @cf.containers.include? @identificator
41
+ @cf.create_container @identificator
49
42
  end
50
- @cf.container identificator
43
+ @cf.container @identificator
51
44
  end
52
45
 
53
46
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloud-backup
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - kazuyoshi tlacaelel
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-14 00:00:00 -05:00
18
+ date: 2010-07-15 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency