rdiff-simple 0.0.6 → 0.0.7
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/rdiff_simple/commands.rb +6 -0
- data/lib/rdiff_simple/errors.rb +3 -0
- data/lib/rdiff_simple/exit_codes.rb +5 -0
- data/lib/rdiff_simple/rdiff_backup.rb +20 -0
- data/lib/rdiff_simple/version.rb +1 -1
- data/lib/rdiff_simple.rb +5 -15
- data/spec/lib/rdiff_simple/rdiff_backup_spec.rb +59 -0
- data/spec/spec_helper.rb +0 -2
- metadata +10 -8
- data/spec/helpers.rb +0 -15
- data/spec/rdiff_simple_spec.rb +0 -45
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'open3'
|
2
|
+
|
3
|
+
module RdiffSimple
|
4
|
+
module RdiffBackup
|
5
|
+
def self.execute(*args)
|
6
|
+
raise NotInstalledError, 'rdiff-backup not installed' unless installed?
|
7
|
+
|
8
|
+
command = ['rdiff-backup', args].flatten!.compact.join(' ').strip
|
9
|
+
|
10
|
+
output, status = Open3.capture2e(command)
|
11
|
+
STDOUT.write output
|
12
|
+
status == EXIT_CODE[:success]
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.installed?
|
16
|
+
output, status = Open3.capture2e(COMMANDS[:installed])
|
17
|
+
status == EXIT_CODE[:success]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/lib/rdiff_simple/version.rb
CHANGED
data/lib/rdiff_simple.rb
CHANGED
@@ -1,16 +1,6 @@
|
|
1
|
-
require
|
1
|
+
require 'rdiff_simple/version'
|
2
|
+
require 'rdiff_simple/exit_codes'
|
3
|
+
require 'rdiff_simple/errors'
|
4
|
+
require 'rdiff_simple/commands'
|
5
|
+
require 'rdiff_simple/rdiff_backup'
|
2
6
|
|
3
|
-
module RdiffSimple
|
4
|
-
|
5
|
-
class NotInstalledError < Exception; end
|
6
|
-
|
7
|
-
def self.execute(args)
|
8
|
-
raise NotInstalledError, 'rdiff-backup not installed' unless installed?
|
9
|
-
|
10
|
-
system("rdiff-backup #{args}")
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.installed?
|
14
|
-
system('which rdiff-backup')
|
15
|
-
end
|
16
|
-
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe RdiffSimple::RdiffBackup do
|
4
|
+
describe '.execute' do
|
5
|
+
context 'when rdiff-backup is installed' do
|
6
|
+
before do
|
7
|
+
Open3.stub(:capture2e).with(RdiffSimple::COMMANDS[:installed]).and_return(['', 0])
|
8
|
+
end
|
9
|
+
|
10
|
+
context 'when no arguments are given' do
|
11
|
+
before do
|
12
|
+
Open3.stub(:capture2e).with(RdiffSimple::COMMANDS[:rdiff]).and_return(['', 1])
|
13
|
+
end
|
14
|
+
|
15
|
+
subject { RdiffSimple::RdiffBackup.execute('') }
|
16
|
+
|
17
|
+
it { should be_false }
|
18
|
+
end
|
19
|
+
|
20
|
+
context 'when arguments are given' do
|
21
|
+
before do
|
22
|
+
Open3.stub(:capture2e).with("#{RdiffSimple::COMMANDS[:rdiff]} --version").and_return(['', 0])
|
23
|
+
end
|
24
|
+
|
25
|
+
subject { RdiffSimple::RdiffBackup.execute('--version') }
|
26
|
+
|
27
|
+
it { should be_true }
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
context 'when rdiff-backup is not installed' do
|
32
|
+
before do
|
33
|
+
Open3.stub(:capture2e).with(RdiffSimple::COMMANDS[:installed]).and_return(['', 1])
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'should raise an exception' do
|
37
|
+
expect { subject.execute('--version') }.to raise_error(RdiffSimple::NotInstalledError)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe '.installed?' do
|
43
|
+
context 'when rdiff-backup is installed' do
|
44
|
+
before do
|
45
|
+
Open3.stub(:capture2e).with(RdiffSimple::COMMANDS[:installed]).and_return(['', 0])
|
46
|
+
end
|
47
|
+
|
48
|
+
it { should be_installed }
|
49
|
+
end
|
50
|
+
|
51
|
+
context 'when rdiff-backup is not installed' do
|
52
|
+
before do
|
53
|
+
Open3.stub(:capture2e).with(RdiffSimple::COMMANDS[:installed]).and_return(['', 1])
|
54
|
+
end
|
55
|
+
|
56
|
+
it { should_not be_installed }
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -11,11 +11,9 @@ if RUBY_VERSION > "1.9"
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
-
require 'helpers'
|
15
14
|
require 'rdiff_simple'
|
16
15
|
|
17
16
|
RSpec.configure do |config|
|
18
17
|
config.treat_symbols_as_metadata_keys_with_true_values = true
|
19
18
|
config.run_all_when_everything_filtered = true
|
20
|
-
config.include Helpers
|
21
19
|
end
|
metadata
CHANGED
@@ -2,14 +2,14 @@
|
|
2
2
|
name: rdiff-simple
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.7
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Ryan Hansen
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-08-09 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: A simple wrapper around rdiff-backup
|
15
15
|
email:
|
@@ -29,10 +29,13 @@ files:
|
|
29
29
|
- README.md
|
30
30
|
- Rakefile
|
31
31
|
- lib/rdiff_simple.rb
|
32
|
+
- lib/rdiff_simple/commands.rb
|
33
|
+
- lib/rdiff_simple/errors.rb
|
34
|
+
- lib/rdiff_simple/exit_codes.rb
|
35
|
+
- lib/rdiff_simple/rdiff_backup.rb
|
32
36
|
- lib/rdiff_simple/version.rb
|
33
37
|
- rdiff-simple.gemspec
|
34
|
-
- spec/
|
35
|
-
- spec/rdiff_simple_spec.rb
|
38
|
+
- spec/lib/rdiff_simple/rdiff_backup_spec.rb
|
36
39
|
- spec/spec_helper.rb
|
37
40
|
homepage: http://github.com/ketiko/rdiff-simple
|
38
41
|
licenses:
|
@@ -48,7 +51,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
48
51
|
- !ruby/object:Gem::Version
|
49
52
|
segments:
|
50
53
|
- 0
|
51
|
-
hash:
|
54
|
+
hash: 2071801012397692109
|
52
55
|
version: '0'
|
53
56
|
none: false
|
54
57
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
@@ -57,7 +60,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
57
60
|
- !ruby/object:Gem::Version
|
58
61
|
segments:
|
59
62
|
- 0
|
60
|
-
hash:
|
63
|
+
hash: 2071801012397692109
|
61
64
|
version: '0'
|
62
65
|
none: false
|
63
66
|
requirements: []
|
@@ -67,6 +70,5 @@ signing_key:
|
|
67
70
|
specification_version: 3
|
68
71
|
summary: A wrapper around the rdiff-backup executable
|
69
72
|
test_files:
|
70
|
-
- spec/
|
71
|
-
- spec/rdiff_simple_spec.rb
|
73
|
+
- spec/lib/rdiff_simple/rdiff_backup_spec.rb
|
72
74
|
- spec/spec_helper.rb
|
data/spec/helpers.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
module Helpers
|
2
|
-
def mock_rdiff_installed(value)
|
3
|
-
result = value == :yes
|
4
|
-
RdiffSimple.stub(:system).with('which rdiff-backup').and_return(result)
|
5
|
-
end
|
6
|
-
|
7
|
-
def mock_rdiff_command(command, value)
|
8
|
-
result = value == :succeeded
|
9
|
-
|
10
|
-
commands = [ 'rdiff-backup' ]
|
11
|
-
commands << command unless command.empty?
|
12
|
-
|
13
|
-
RdiffSimple.stub(:system).with(*commands).and_return(result)
|
14
|
-
end
|
15
|
-
end
|
data/spec/rdiff_simple_spec.rb
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe RdiffSimple do
|
4
|
-
describe '#execute' do
|
5
|
-
context 'when rdiff-backup is installed' do
|
6
|
-
before { mock_rdiff_installed :yes }
|
7
|
-
|
8
|
-
context 'when no arguments are given' do
|
9
|
-
before { mock_rdiff_command '', :failed }
|
10
|
-
subject { RdiffSimple.execute }
|
11
|
-
|
12
|
-
it { should be_false }
|
13
|
-
end
|
14
|
-
|
15
|
-
context 'when arguments are given' do
|
16
|
-
before { mock_rdiff_command '--version', :succeeded }
|
17
|
-
subject { RdiffSimple.execute('--version') }
|
18
|
-
|
19
|
-
it { should be_true }
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
context 'when rdiff-backup is not installed' do
|
24
|
-
before { mock_rdiff_installed false }
|
25
|
-
|
26
|
-
it 'should raise an exception' do
|
27
|
-
expect { subject.execute('--version') }.to raise_error(RdiffSimple::NotInstalledError)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
describe '#installed?' do
|
33
|
-
context 'when rdiff-backup is installed' do
|
34
|
-
before { mock_rdiff_installed :yes }
|
35
|
-
|
36
|
-
it { should be_installed }
|
37
|
-
end
|
38
|
-
|
39
|
-
context 'when rdiff-backup is not installed' do
|
40
|
-
before { mock_rdiff_installed :no }
|
41
|
-
|
42
|
-
it { should_not be_installed }
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|