encbs 0.2.1 → 0.2.2

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 CHANGED
@@ -6,7 +6,7 @@ gem "ruby-progressbar"
6
6
  gem "lzoruby"
7
7
 
8
8
  group :development do
9
- gem "rake", "0.8.4"
9
+ gem "rake", "~> 0.8"
10
10
  gem "bundler", ">= 1.0.0"
11
11
  gem "jeweler", ">= 1.6.0"
12
12
  gem "rcov", ">= 0"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.2.2
data/encbs.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{encbs}
8
- s.version = "0.2.1"
8
+ s.version = "0.2.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Timothy Klim"]
@@ -37,13 +37,17 @@ Gem::Specification.new do |s|
37
37
  "lib/crypto.rb",
38
38
  "lib/encbsconfig.rb",
39
39
  "lib/helpers.rb",
40
+ "test/cloudrc.yml.example",
41
+ "test/fixtures/Encbsfile.example",
40
42
  "test/fixtures/etc/.hide",
41
43
  "test/fixtures/etc/root/file",
42
44
  "test/fixtures/rsa_key.private",
43
45
  "test/fixtures/rsa_key.public",
44
46
  "test/helper.rb",
45
- "test/test_backup.rb",
47
+ "test/test_archive.rb",
48
+ "test/test_backup_cloud.rb",
46
49
  "test/test_backup_file_item.rb",
50
+ "test/test_backup_local.rb",
47
51
  "test/test_backup_timestamp.rb",
48
52
  "test/test_config.rb",
49
53
  "test/test_crypto.rb"
@@ -51,7 +55,7 @@ Gem::Specification.new do |s|
51
55
  s.homepage = %q{http://github.com/TimothyKlim/encbs}
52
56
  s.licenses = ["MIT"]
53
57
  s.require_paths = ["lib"]
54
- s.rubygems_version = %q{1.6.2}
58
+ s.rubygems_version = %q{1.5.2}
55
59
  s.summary = %q{Simple backup system for pushing into cloud}
56
60
 
57
61
  if s.respond_to? :specification_version then
@@ -62,7 +66,7 @@ Gem::Specification.new do |s|
62
66
  s.add_runtime_dependency(%q<slop>, [">= 0"])
63
67
  s.add_runtime_dependency(%q<ruby-progressbar>, [">= 0"])
64
68
  s.add_runtime_dependency(%q<lzoruby>, [">= 0"])
65
- s.add_development_dependency(%q<rake>, ["= 0.8.4"])
69
+ s.add_development_dependency(%q<rake>, ["~> 0.8"])
66
70
  s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
67
71
  s.add_development_dependency(%q<jeweler>, [">= 1.6.0"])
68
72
  s.add_development_dependency(%q<rcov>, [">= 0"])
@@ -71,7 +75,7 @@ Gem::Specification.new do |s|
71
75
  s.add_dependency(%q<slop>, [">= 0"])
72
76
  s.add_dependency(%q<ruby-progressbar>, [">= 0"])
73
77
  s.add_dependency(%q<lzoruby>, [">= 0"])
74
- s.add_dependency(%q<rake>, ["= 0.8.4"])
78
+ s.add_dependency(%q<rake>, ["~> 0.8"])
75
79
  s.add_dependency(%q<bundler>, [">= 1.0.0"])
76
80
  s.add_dependency(%q<jeweler>, [">= 1.6.0"])
77
81
  s.add_dependency(%q<rcov>, [">= 0"])
@@ -81,7 +85,7 @@ Gem::Specification.new do |s|
81
85
  s.add_dependency(%q<slop>, [">= 0"])
82
86
  s.add_dependency(%q<ruby-progressbar>, [">= 0"])
83
87
  s.add_dependency(%q<lzoruby>, [">= 0"])
84
- s.add_dependency(%q<rake>, ["= 0.8.4"])
88
+ s.add_dependency(%q<rake>, ["~> 0.8"])
85
89
  s.add_dependency(%q<bundler>, [">= 1.0.0"])
86
90
  s.add_dependency(%q<jeweler>, [">= 1.6.0"])
87
91
  s.add_dependency(%q<rcov>, [">= 0"])
data/lib/archive.rb CHANGED
@@ -8,7 +8,7 @@ module GZIP
8
8
  z.close
9
9
  dst
10
10
  end
11
-
11
+
12
12
  def self.decompress string
13
13
  zstream = Zlib::Inflate.new
14
14
  buf = zstream.inflate string
@@ -22,11 +22,12 @@ class Archive
22
22
  attr_reader :type
23
23
 
24
24
  def initialize type
25
- puts_fail "Unsupported type" unless [:lzo, :gzip].include? type.downcase
26
- instance_eval %{@type = #{type.to_s.upcase}}
25
+ type = type.to_s
26
+ puts_fail "Unsupported type" unless %w[lzo gzip].include? type.downcase
27
+ instance_eval %{@type = #{type.upcase}}
27
28
  end
28
-
29
+
29
30
  def method_missing name, *args
30
31
  StringIO.new @type.send(name, *args)
31
32
  end
32
- end
33
+ end
@@ -53,6 +53,15 @@ module Backup
53
53
  end
54
54
  end
55
55
 
56
+ def exists? file
57
+ try_to_work_with_cloud do
58
+ !@directory.files.all(
59
+ :prefix => file,
60
+ :max_keys => 1
61
+ ).nil?
62
+ end
63
+ end
64
+
56
65
  def read_file(file)
57
66
  try_to_work_with_cloud do
58
67
  file = delete_slashes(file)
@@ -15,10 +15,14 @@ module Backup
15
15
  end
16
16
  end
17
17
 
18
+ def exists? file
19
+ File.exists? file
20
+ end
21
+
18
22
  def create_file_once file, data
19
23
  data = data.read if data.is_a? File or data.is_a? StringIO
20
24
  File.open(file, 'wb') do |f|
21
- f.puts(data)
25
+ f.print(data)
22
26
  end unless File.exists?(file)
23
27
  end
24
28
 
data/lib/backup/jar.rb CHANGED
@@ -106,7 +106,7 @@ module Backup
106
106
  :timestamp => @timestamp
107
107
  })
108
108
  File.open("/var/tmp/encbs.swap", "w") do |f|
109
- f.puts @meta_index.to_yaml
109
+ f.print @meta_index.to_yaml
110
110
  end
111
111
 
112
112
  puts
@@ -158,7 +158,7 @@ module Backup
158
158
 
159
159
  class << self
160
160
  def hash_to_path(file_item, root_path, hash)
161
- file_item.read_file("#{root_path}/meta/jars/#{hash}").chomp
161
+ file_item.read_file("#{root_path}/meta/jars/#{hash}")
162
162
  rescue Errno::ENOENT
163
163
  ""
164
164
  end
data/lib/backup.rb CHANGED
@@ -111,13 +111,13 @@ module Backup
111
111
  remote_path += "/#{@file_item.file_hash file}"
112
112
 
113
113
  data = @file_item.read_file(remote_path)
114
- data = @key.decrypt_from_stream data.chomp if @key
114
+ data = @key.decrypt_from_stream data if @key
115
115
 
116
116
  unless compression.nil?
117
- data = compression.decompress(data.chomp).read
117
+ data = compression.decompress(data).read
118
118
  end
119
119
 
120
- f.puts data
120
+ f.print data
121
121
  end
122
122
 
123
123
  file_ok = @file_item.stat(restore_file)[restore_file]
data/lib/encbsconfig.rb CHANGED
@@ -34,7 +34,7 @@ class EncbsConfig
34
34
  def increment!
35
35
  @increment = true
36
36
  end
37
-
37
+
38
38
  def use_compression attr
39
39
  @compression = attr
40
40
  end
@@ -58,7 +58,7 @@ class EncbsConfig
58
58
  def verbose!
59
59
  @verbose = true
60
60
  end
61
-
61
+
62
62
  def set_timeout attr
63
63
  @timeout = attr
64
64
  end
data/lib/helpers.rb CHANGED
@@ -34,7 +34,7 @@ end
34
34
 
35
35
  def create_lock
36
36
  open("/tmp/encbs.lock", "w") do |f|
37
- f.puts Process.pid
37
+ f.print Process.pid
38
38
  end
39
39
  end
40
40
 
@@ -0,0 +1,4 @@
1
+ bucket: "encbs"
2
+ directory: "encbs_test_backups"
3
+ key: "Amazon API Key"
4
+ secret: "Amazon Secret Key"
@@ -0,0 +1,14 @@
1
+ add "~/.oh-my-zsh"
2
+ add "~/.zshrc"
3
+ aws_bucket "encbs"
4
+ aws_key "AWS_KEY"
5
+ aws_secret "AWS_SECRET"
6
+ colorize!
7
+ increment!
8
+ key_size 2048
9
+ public_key "~/rsa_key.pub"
10
+ purge!
11
+ set_timeout 1000
12
+ use_compression "gzip"
13
+ use_hostname "Yeah"
14
+ verbose!
data/test/helper.rb CHANGED
@@ -13,7 +13,9 @@ require 'base64'
13
13
  require 'lzoruby'
14
14
  require 'zlib'
15
15
 
16
+ require 'fog'
16
17
  require 'backup'
18
+ require 'encbsconfig'
17
19
 
18
20
  def puts_fail msg
19
21
  raise msg
@@ -0,0 +1,41 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ class TestArchive < Test::Unit::TestCase
4
+ def setup
5
+ @original = "Yeah" * 100
6
+ end
7
+
8
+ def test_gzip
9
+ gzip = Archive.new :gzip
10
+
11
+ compressed = (gzip.compress @original, 9).read
12
+ decompressed = (gzip.decompress compressed).read
13
+
14
+ assert compressed.length < @original.length
15
+
16
+ assert_equal @original, decompressed
17
+
18
+ assert_not_nil compressed
19
+ assert_not_nil decompressed
20
+
21
+ assert_not_equal @original, compressed
22
+ assert_not_equal decompressed, compressed
23
+ end
24
+
25
+ def test_lzo
26
+ lzo = Archive.new :lzo
27
+
28
+ compressed = (lzo.compress @original, 9).read
29
+ decompressed = (lzo.decompress compressed).read
30
+
31
+ assert compressed.length < @original.length
32
+
33
+ assert_equal @original, decompressed
34
+
35
+ assert_not_nil compressed
36
+ assert_not_nil decompressed
37
+
38
+ assert_not_equal @original, compressed
39
+ assert_not_equal decompressed, compressed
40
+ end
41
+ end
@@ -0,0 +1,43 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+ require File.expand_path('../test_backup_local', __FILE__)
3
+
4
+ class TestCloudBackup < TestLocalBackup
5
+ def setup
6
+ @restore_path = File.expand_path("../fixtures/restore", __FILE__)
7
+ @hostname = Socket.gethostname
8
+
9
+ cloud_rc = YAML::load open(
10
+ File.expand_path "../cloudrc.yml", __FILE__
11
+ ).read
12
+
13
+ @backups_path = cloud_rc["directory"]
14
+ @backup = Backup::Instance.new(
15
+ @backups_path,
16
+ true,
17
+ :key => cloud_rc["key"],
18
+ :secret => cloud_rc["secret"],
19
+ :bucket => cloud_rc["bucket"]
20
+ )
21
+ end
22
+
23
+ def teardown
24
+ FileUtils.rm_r @restore_path, :force => true
25
+ FileUtils.mkdir_p @restore_path
26
+
27
+ File.open(File.expand_path('../fixtures/etc/root/file', __FILE__), 'w') do |f|
28
+ f.puts "Root file\n"
29
+ end
30
+
31
+ @backup.file_item.delete_dir @backups_path
32
+ end
33
+
34
+ def test_backup_attributes
35
+ assert_equal(
36
+ @backup.root_path,
37
+ "#{@backups_path}/#{@hostname}"
38
+ )
39
+ assert_equal @backup.hostname, @hostname
40
+ assert_equal @backup.file_item.class, Backup::FileItem::Cloud
41
+ assert_not_nil @backup.timestamp
42
+ end
43
+ end
@@ -1,6 +1,6 @@
1
1
  require File.expand_path('../helper', __FILE__)
2
2
 
3
- class TestBackup < Test::Unit::TestCase
3
+ class TestLocalBackup < Test::Unit::TestCase
4
4
  def setup
5
5
  @backups_path = File.expand_path("../fixtures/backups", __FILE__)
6
6
  @restore_path = File.expand_path("../fixtures/restore", __FILE__)
@@ -25,11 +25,11 @@ class TestBackup < Test::Unit::TestCase
25
25
  end
26
26
  end
27
27
 
28
- def create_backup! increment = false
28
+ def create_backup! increment = false, purge = false
29
29
  @local_path = File.expand_path('../fixtures/etc', __FILE__)
30
30
  @local_path_hash = Digest::MD5.hexdigest @local_path
31
31
 
32
- @timestamp = @backup.create! @local_path, increment, false
32
+ @timestamp = @backup.create! @local_path, increment, purge
33
33
  @back_path = "#{@backups_path}/#{@hostname}"
34
34
  end
35
35
 
@@ -46,28 +46,55 @@ class TestBackup < Test::Unit::TestCase
46
46
  def test_create
47
47
  create_backup!
48
48
 
49
- assert File.exists?("#{@back_path}")
50
- assert File.exists?("#{@back_path}/meta")
51
- assert File.exists?("#{@back_path}/meta/#{@local_path_hash}")
52
- assert File.exists?("#{@back_path}/meta/#{@local_path_hash}/#{@timestamp}.yml")
53
- assert File.exists?("#{@back_path}/meta/jars")
54
- assert File.exists?("#{@back_path}/meta/jars/#{@local_path_hash}")
55
- assert File.exists?("#{@back_path}/#{@local_path_hash}")
49
+ assert @backup.file_item.exists?("#{@back_path}/meta/#{@local_path_hash}/#{@timestamp}.yml")
50
+ assert @backup.file_item.exists?("#{@back_path}/meta/jars/#{@local_path_hash}")
51
+ assert @backup.file_item.exists?("#{@back_path}/#{@local_path_hash}")
56
52
 
57
- assert_equal "#{@local_path}/", open(
53
+ assert_equal "#{@local_path}/", @backup.file_item.read_file(
58
54
  "#{@back_path}/meta/jars/#{@local_path_hash}"
59
- ).read.chomp
55
+ )
60
56
 
61
- meta_index = YAML::load open(
57
+ meta_index = YAML::load @backup.file_item.read_file(
62
58
  "#{@back_path}/meta/#{@local_path_hash}/#{@timestamp}.yml"
63
- ).read
59
+ )
64
60
 
65
61
  assert meta_index.has_key? @local_path
66
62
 
67
63
  root_file = File.expand_path '../fixtures/etc/root/file', __FILE__
68
- assert_equal open(root_file).read, open(
64
+ assert_equal open(root_file).read, @backup.file_item.read_file(
69
65
  "#{@back_path}/#{@local_path_hash}/#{@timestamp}/#{Digest::MD5.hexdigest root_file}"
70
- ).read
66
+ )
67
+ end
68
+
69
+ def test_create_with_compress
70
+ @backup.compression = "gzip"
71
+ create_backup!
72
+
73
+ meta_index = YAML::load @backup.file_item.read_file(
74
+ "#{@back_path}/meta/#{@local_path_hash}/#{@timestamp}.yml"
75
+ )
76
+
77
+ assert meta_index.has_key? :compression
78
+ assert_equal meta_index[:compression], 'GZIP'
79
+
80
+ root_file = File.expand_path '../fixtures/etc/root/file', __FILE__
81
+ assert_not_equal open(root_file).read, @backup.file_item.read_file(
82
+ "#{@back_path}/#{@local_path_hash}/#{@timestamp}/#{Digest::MD5.hexdigest root_file}"
83
+ )
84
+ end
85
+
86
+ def test_create_with_purge_previous
87
+ create_backup!
88
+ previous_timestamp = @timestamp.dup
89
+
90
+ sleep 1
91
+ create_backup! false, true
92
+
93
+ versions = @backup.jar_versions @local_path
94
+
95
+ assert_equal versions.length, 1
96
+ assert_equal versions.first, @timestamp
97
+ assert_not_equal @timestamp, previous_timestamp
71
98
  end
72
99
 
73
100
  def test_create_with_crypt
@@ -85,13 +112,13 @@ class TestBackup < Test::Unit::TestCase
85
112
  root_file = File.expand_path '../fixtures/etc/root/file', __FILE__
86
113
  root_file_content = open(root_file).read
87
114
 
88
- root_file_crypt_content = open(
115
+ root_file_crypt_content = @backup.file_item.read_file(
89
116
  "#{@back_path}/#{@local_path_hash}/#{@timestamp}/#{Digest::MD5.hexdigest root_file}"
90
- ).read
117
+ )
91
118
 
92
119
  assert_not_equal root_file_content, root_file_crypt_content
93
120
  assert_equal root_file_content, private_key.decrypt_from_stream(
94
- root_file_crypt_content.chomp
121
+ root_file_crypt_content
95
122
  )
96
123
  end
97
124
 
@@ -167,8 +194,8 @@ class TestBackup < Test::Unit::TestCase
167
194
  root_file_content = open(root_file).read
168
195
 
169
196
  assert_equal root_file_content, "Changed file\n"
170
- assert_equal root_file_content, open(
197
+ assert_equal root_file_content, @backup.file_item.read_file(
171
198
  "#{@back_path}/#{@local_path_hash}/#{@timestamp}/#{Digest::MD5.hexdigest root_file}"
172
- ).read
199
+ )
173
200
  end
174
201
  end
data/test/test_config.rb CHANGED
@@ -1,4 +1,27 @@
1
1
  require File.expand_path('../helper', __FILE__)
2
2
 
3
3
  class TestConfig < Test::Unit::TestCase
4
+ def setup
5
+ @config = EncbsConfig.new
6
+ @config.load File.expand_path('../fixtures/Encbsfile.example', __FILE__)
7
+ end
8
+
9
+ def test_load
10
+ assert @config.colorize
11
+ assert @config.increment
12
+ assert @config.paths.include?('~/.oh-my-zsh')
13
+ assert @config.paths.include?('~/.zshrc')
14
+ assert @config.verbose
15
+
16
+ assert_nil @config.purge
17
+
18
+ assert_equal @config.bucket, 'encbs'
19
+ assert_equal @config.compression, 'gzip'
20
+ assert_equal @config.hostname, 'Yeah'
21
+ assert_equal @config.key, 'AWS_KEY'
22
+ assert_equal @config.secret, 'AWS_SECRET'
23
+ assert_equal @config.size, 2048
24
+ assert_equal @config.timeout, 1000
25
+ assert_equal @config.token, '~/rsa_key.pub'
26
+ end
4
27
  end
metadata CHANGED
@@ -1,114 +1,150 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: encbs
3
- version: !ruby/object:Gem::Version
4
- version: 0.2.1
3
+ version: !ruby/object:Gem::Version
4
+ hash: 19
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 2
10
+ version: 0.2.2
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Timothy Klim
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2011-06-04 00:00:00.000000000 +04:00
17
+
18
+ date: 2011-06-04 00:00:00 +04:00
13
19
  default_executable: encbs
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ prerelease: false
23
+ type: :runtime
16
24
  name: fog
17
- requirement: &2155354360 !ruby/object:Gem::Requirement
25
+ version_requirements: &id001 !ruby/object:Gem::Requirement
18
26
  none: false
19
- requirements:
20
- - - ! '>='
21
- - !ruby/object:Gem::Version
22
- version: '0'
23
- type: :runtime
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 3
31
+ segments:
32
+ - 0
33
+ version: "0"
34
+ requirement: *id001
35
+ - !ruby/object:Gem::Dependency
24
36
  prerelease: false
25
- version_requirements: *2155354360
26
- - !ruby/object:Gem::Dependency
37
+ type: :runtime
27
38
  name: slop
28
- requirement: &2155353860 !ruby/object:Gem::Requirement
39
+ version_requirements: &id002 !ruby/object:Gem::Requirement
29
40
  none: false
30
- requirements:
31
- - - ! '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 0
47
+ version: "0"
48
+ requirement: *id002
49
+ - !ruby/object:Gem::Dependency
35
50
  prerelease: false
36
- version_requirements: *2155353860
37
- - !ruby/object:Gem::Dependency
51
+ type: :runtime
38
52
  name: ruby-progressbar
39
- requirement: &2155353340 !ruby/object:Gem::Requirement
53
+ version_requirements: &id003 !ruby/object:Gem::Requirement
40
54
  none: false
41
- requirements:
42
- - - ! '>='
43
- - !ruby/object:Gem::Version
44
- version: '0'
45
- type: :runtime
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 3
59
+ segments:
60
+ - 0
61
+ version: "0"
62
+ requirement: *id003
63
+ - !ruby/object:Gem::Dependency
46
64
  prerelease: false
47
- version_requirements: *2155353340
48
- - !ruby/object:Gem::Dependency
65
+ type: :runtime
49
66
  name: lzoruby
50
- requirement: &2155352820 !ruby/object:Gem::Requirement
67
+ version_requirements: &id004 !ruby/object:Gem::Requirement
51
68
  none: false
52
- requirements:
53
- - - ! '>='
54
- - !ruby/object:Gem::Version
55
- version: '0'
56
- type: :runtime
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ hash: 3
73
+ segments:
74
+ - 0
75
+ version: "0"
76
+ requirement: *id004
77
+ - !ruby/object:Gem::Dependency
57
78
  prerelease: false
58
- version_requirements: *2155352820
59
- - !ruby/object:Gem::Dependency
79
+ type: :development
60
80
  name: rake
61
- requirement: &2155352300 !ruby/object:Gem::Requirement
81
+ version_requirements: &id005 !ruby/object:Gem::Requirement
62
82
  none: false
63
- requirements:
64
- - - =
65
- - !ruby/object:Gem::Version
66
- version: 0.8.4
67
- type: :development
83
+ requirements:
84
+ - - ~>
85
+ - !ruby/object:Gem::Version
86
+ hash: 27
87
+ segments:
88
+ - 0
89
+ - 8
90
+ version: "0.8"
91
+ requirement: *id005
92
+ - !ruby/object:Gem::Dependency
68
93
  prerelease: false
69
- version_requirements: *2155352300
70
- - !ruby/object:Gem::Dependency
94
+ type: :development
71
95
  name: bundler
72
- requirement: &2155351700 !ruby/object:Gem::Requirement
96
+ version_requirements: &id006 !ruby/object:Gem::Requirement
73
97
  none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ hash: 23
102
+ segments:
103
+ - 1
104
+ - 0
105
+ - 0
77
106
  version: 1.0.0
78
- type: :development
107
+ requirement: *id006
108
+ - !ruby/object:Gem::Dependency
79
109
  prerelease: false
80
- version_requirements: *2155351700
81
- - !ruby/object:Gem::Dependency
110
+ type: :development
82
111
  name: jeweler
83
- requirement: &2155351100 !ruby/object:Gem::Requirement
112
+ version_requirements: &id007 !ruby/object:Gem::Requirement
84
113
  none: false
85
- requirements:
86
- - - ! '>='
87
- - !ruby/object:Gem::Version
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ hash: 15
118
+ segments:
119
+ - 1
120
+ - 6
121
+ - 0
88
122
  version: 1.6.0
89
- type: :development
123
+ requirement: *id007
124
+ - !ruby/object:Gem::Dependency
90
125
  prerelease: false
91
- version_requirements: *2155351100
92
- - !ruby/object:Gem::Dependency
126
+ type: :development
93
127
  name: rcov
94
- requirement: &2155350480 !ruby/object:Gem::Requirement
128
+ version_requirements: &id008 !ruby/object:Gem::Requirement
95
129
  none: false
96
- requirements:
97
- - - ! '>='
98
- - !ruby/object:Gem::Version
99
- version: '0'
100
- type: :development
101
- prerelease: false
102
- version_requirements: *2155350480
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ hash: 3
134
+ segments:
135
+ - 0
136
+ version: "0"
137
+ requirement: *id008
103
138
  description: Simple backup system for pushing into cloud
104
139
  email: klimtimothy@gmail.com
105
- executables:
140
+ executables:
106
141
  - encbs
107
142
  extensions: []
108
- extra_rdoc_files:
143
+
144
+ extra_rdoc_files:
109
145
  - LICENSE.txt
110
146
  - README.rdoc
111
- files:
147
+ files:
112
148
  - Gemfile
113
149
  - LICENSE.txt
114
150
  - README.rdoc
@@ -127,43 +163,53 @@ files:
127
163
  - lib/crypto.rb
128
164
  - lib/encbsconfig.rb
129
165
  - lib/helpers.rb
166
+ - test/cloudrc.yml.example
167
+ - test/fixtures/Encbsfile.example
130
168
  - test/fixtures/etc/.hide
131
169
  - test/fixtures/etc/root/file
132
170
  - test/fixtures/rsa_key.private
133
171
  - test/fixtures/rsa_key.public
134
172
  - test/helper.rb
135
- - test/test_backup.rb
173
+ - test/test_archive.rb
174
+ - test/test_backup_cloud.rb
136
175
  - test/test_backup_file_item.rb
176
+ - test/test_backup_local.rb
137
177
  - test/test_backup_timestamp.rb
138
178
  - test/test_config.rb
139
179
  - test/test_crypto.rb
140
180
  has_rdoc: true
141
181
  homepage: http://github.com/TimothyKlim/encbs
142
- licenses:
182
+ licenses:
143
183
  - MIT
144
184
  post_install_message:
145
185
  rdoc_options: []
146
- require_paths:
186
+
187
+ require_paths:
147
188
  - lib
148
- required_ruby_version: !ruby/object:Gem::Requirement
189
+ required_ruby_version: !ruby/object:Gem::Requirement
149
190
  none: false
150
- requirements:
151
- - - ! '>='
152
- - !ruby/object:Gem::Version
153
- version: '0'
154
- segments:
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ hash: 3
195
+ segments:
155
196
  - 0
156
- hash: 59491317708756896
157
- required_rubygems_version: !ruby/object:Gem::Requirement
197
+ version: "0"
198
+ required_rubygems_version: !ruby/object:Gem::Requirement
158
199
  none: false
159
- requirements:
160
- - - ! '>='
161
- - !ruby/object:Gem::Version
162
- version: '0'
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ hash: 3
204
+ segments:
205
+ - 0
206
+ version: "0"
163
207
  requirements: []
208
+
164
209
  rubyforge_project:
165
- rubygems_version: 1.6.2
210
+ rubygems_version: 1.5.2
166
211
  signing_key:
167
212
  specification_version: 3
168
213
  summary: Simple backup system for pushing into cloud
169
214
  test_files: []
215
+