prlbackup 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/bin/prlbackup CHANGED
@@ -2,4 +2,4 @@
2
2
  $:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
3
3
  require 'prlbackup'
4
4
 
5
- PrlBackup::CLI.run
5
+ PrlBackup::CLI.start
data/lib/prlbackup/cli.rb CHANGED
@@ -45,16 +45,16 @@ module PrlBackup
45
45
 
46
46
  class << self
47
47
  # Run the backups with given options and arguments.
48
- def run
49
- self.new.run(ARGV)
48
+ def start
49
+ self.new.start(ARGV)
50
50
  end
51
51
  end
52
52
 
53
53
  # Parse options and create safe backups for the selected virtual machines.
54
- def run(argv)
54
+ def start(argv)
55
55
  parse_options!(argv)
56
56
  selected_virtual_machines.each do |vm|
57
- vm.safe_backup
57
+ vm.safely_backup
58
58
  vm.cleanup if config[:keep_only]
59
59
  end
60
60
  end
@@ -1,3 +1,3 @@
1
1
  module PrlBackup
2
- VERSION = '1.1.1'
2
+ VERSION = '1.1.2'
3
3
  end
@@ -16,7 +16,7 @@ module PrlBackup
16
16
  # @return [Array<VirtualMachine>]
17
17
  def all
18
18
  cmd = %w{prlctl list --all --output uuid}
19
- command(*cmd).split("\n").grep(/(\{[a-f0-9-]+\})/) { new($1) }
19
+ run(*cmd).split("\n").grep(/(\{[a-f0-9-]+\})/) { new($1) }
20
20
  end
21
21
  end
22
22
 
@@ -32,7 +32,7 @@ module PrlBackup
32
32
 
33
33
  # Safely backup the virtual machine.
34
34
  # @note A running virtual machine will be stopped during the backup!
35
- def safe_backup(full=false)
35
+ def safely_backup(full=false)
36
36
  stopped? ? backup : (stop; backup; start)
37
37
  end
38
38
 
@@ -72,25 +72,25 @@ module PrlBackup
72
72
 
73
73
  # Start the virtual machine.
74
74
  def start
75
- command!('prlctl', 'start', uuid)
75
+ conditionally_run('prlctl', 'start', uuid)
76
76
  end
77
77
 
78
78
  # Stop the virtual machine.
79
79
  def stop
80
- command!('prlctl', 'stop', uuid)
80
+ conditionally_run('prlctl', 'stop', uuid)
81
81
  end
82
82
 
83
83
  # Backup the virtual machine.
84
84
  def backup
85
85
  cmd = ['prlctl', 'backup', uuid]
86
86
  cmd << '--full' if config[:full]
87
- command!(*cmd)
87
+ conditionally_run(*cmd)
88
88
  end
89
89
 
90
90
  # Update and return info string for the virtual machine.
91
91
  # @return [String] infos
92
92
  def update_info
93
- @info = command('prlctl', 'list', '--info', @name_or_uuid)
93
+ @info = run('prlctl', 'list', '--info', @name_or_uuid)
94
94
  end
95
95
 
96
96
  def stopped?
@@ -99,12 +99,12 @@ module PrlBackup
99
99
 
100
100
  # List of full backups for the virtual machine.
101
101
  def full_backups
102
- command('prlctl', 'backup-list', uuid).split("\n").map { |l| $1 if l[/^\{[a-f0-9-]+\}\s+(\{[a-f0-9-]+\})[^(\.\d+)]/] }.compact
102
+ run('prlctl', 'backup-list', uuid).split("\n").map { |l| $1 if l[/^\{[a-f0-9-]+\}\s+(\{[a-f0-9-]+\})[^(\.\d+)]/] }.compact
103
103
  end
104
104
 
105
105
  # Delete the backup given by backup UUID.
106
106
  def delete_backup(backup_uuid)
107
- command!('prlctl', 'backup-delete', '--tag', backup_uuid)
107
+ conditionally_run('prlctl', 'backup-delete', '--tag', backup_uuid)
108
108
  end
109
109
  end
110
110
  end
data/lib/prlbackup.rb CHANGED
@@ -13,9 +13,9 @@ module PrlBackup
13
13
 
14
14
  # Run the command and log the last line from stdout unless --dry-run.
15
15
  # @return [String] stdout of the comand.
16
- def command!(*args)
16
+ def conditionally_run(*args)
17
17
  unless PrlBackup.config[:dry_run]
18
- output = command(*args)
18
+ output = run(*args)
19
19
  logger.info(output.split("\n").last)
20
20
  else
21
21
  output = ''
@@ -27,7 +27,7 @@ module PrlBackup
27
27
  # Run the command until it is finished.
28
28
  # @Note This will even run when option --dry-run is selected!
29
29
  # @return [String] stdout of the comand.
30
- def command(*args)
30
+ def run(*args)
31
31
  logger.info("Running `#{args.shelljoin}`...") if PrlBackup.config[:verbose]
32
32
  output = `#{args.shelljoin} 2>&1`
33
33
  status = $?
@@ -2,28 +2,28 @@ require 'spec_helper'
2
2
 
3
3
  module PrlBackup
4
4
  describe CLI do
5
- describe '.run' do
5
+ describe '.start' do
6
6
  before do
7
7
  @cli = double('cli')
8
- @cli.stub(:run)
8
+ @cli.stub(:start)
9
9
  CLI.stub(:new).and_return(@cli)
10
10
  end
11
11
 
12
12
  it 'should initialize a new instance' do
13
13
  CLI.should_receive(:new).and_return(@cli)
14
- CLI.run
14
+ CLI.start
15
15
  end
16
16
 
17
17
  it 'should run the new instance with ARGV' do
18
- @cli.should_receive(:run).with(ARGV)
19
- CLI.run
18
+ @cli.should_receive(:start).with(ARGV)
19
+ CLI.start
20
20
  end
21
21
  end
22
22
 
23
- describe '#run' do
23
+ describe '#start' do
24
24
  before do
25
25
  @vm = double('vm')
26
- @vm.stub(:safe_backup)
26
+ @vm.stub(:safely_backup)
27
27
  @vm.stub(:cleanup)
28
28
  VirtualMachine.stub(:new).and_return(@vm)
29
29
  @cli = CLI.new
@@ -35,21 +35,21 @@ module PrlBackup
35
35
  end
36
36
 
37
37
  it 'should backup each selected virtual machine' do
38
- @vm.should_receive(:safe_backup).once
39
- @cli.run %w[foo]
38
+ @vm.should_receive(:safely_backup).once
39
+ @cli.start %w[foo]
40
40
  end
41
41
 
42
42
  it 'should not perform cleanup actions' do
43
43
  @vm.should_not_receive(:cleanup)
44
- @cli.run %w[foo]
44
+ @cli.start %w[foo]
45
45
  end
46
46
  end
47
47
 
48
48
  context 'with option --all' do
49
49
  it 'should backup all virtual machines' do
50
50
  VirtualMachine.should_receive(:all).and_return([@vm, @vm])
51
- @vm.should_receive(:safe_backup).twice
52
- @cli.run %w[--all]
51
+ @vm.should_receive(:safely_backup).twice
52
+ @cli.start %w[--all]
53
53
  end
54
54
  end
55
55
 
@@ -60,23 +60,23 @@ module PrlBackup
60
60
 
61
61
  it 'should not backup virtual machines which are given' do
62
62
  @cli.stub(:given_virtual_machines).and_return([@vm])
63
- @vm.should_not_receive(:safe_backup)
64
- @cli.run %w[--all --exclude foo]
63
+ @vm.should_not_receive(:safely_backup)
64
+ @cli.start %w[--all --exclude foo]
65
65
  end
66
66
 
67
67
  it 'should backup virtual machines which are not given' do
68
68
  @cli.stub(:given_virtual_machines).and_return([])
69
- @vm.should_receive(:safe_backup).twice
70
- @cli.run %w[--all --exclude foo]
69
+ @vm.should_receive(:safely_backup).twice
70
+ @cli.start %w[--all --exclude foo]
71
71
  end
72
72
  end
73
73
 
74
74
  context 'with option --keep-only' do
75
75
  it 'should perform cleanup actions after backing up' do
76
- @vm.should_receive(:safe_backup).ordered
76
+ @vm.should_receive(:safely_backup).ordered
77
77
  @vm.should_receive(:cleanup).ordered
78
78
  @cli.stub(:config).and_return({:keep_only => 3})
79
- @cli.run %w[foo]
79
+ @cli.start %w[foo]
80
80
  end
81
81
  end
82
82
  end
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  module PrlBackup
4
4
  describe VirtualMachine do
5
5
  before do
6
- VirtualMachine.any_instance.stub(:command).and_return('')
6
+ VirtualMachine.any_instance.stub(:run).and_return('')
7
7
  @uuid = '{deadbeef}'
8
8
  @vm = VirtualMachine.new('foo')
9
9
  @vm.stub(:uuid).and_return(@uuid)
@@ -33,25 +33,25 @@ module PrlBackup
33
33
 
34
34
  it 'should return a list of all virtual machines' do
35
35
  vm = mock('virtual_machine')
36
- VirtualMachine.stub(:command).and_return(@stdout)
36
+ VirtualMachine.stub(:run).and_return(@stdout)
37
37
  VirtualMachine.stub(:new).and_return(vm)
38
38
  VirtualMachine.all.should eql([vm, vm, vm])
39
39
  end
40
40
 
41
41
  it 'should return an empty list if no virtual machines exist' do
42
- VirtualMachine.stub(:command).and_return('')
42
+ VirtualMachine.stub(:run).and_return('')
43
43
  VirtualMachine.all.should eql([])
44
44
  end
45
45
 
46
46
  it 'should instantiate all virtual machines by their uuid' do
47
- VirtualMachine.stub(:command).and_return(@stdout)
47
+ VirtualMachine.stub(:run).and_return(@stdout)
48
48
  @uuids.each { |uuid| VirtualMachine.should_receive(:new).with(uuid) }
49
49
  VirtualMachine.all
50
50
  end
51
51
 
52
52
  it 'should query a list of all virtual machines via command' do
53
53
  cmd = %w{prlctl list --all --output uuid}
54
- VirtualMachine.should_receive(:command).with(*cmd).and_return(@stdout)
54
+ VirtualMachine.should_receive(:run).with(*cmd).and_return(@stdout)
55
55
  VirtualMachine.stub(:new)
56
56
  VirtualMachine.all
57
57
  end
@@ -67,7 +67,7 @@ module PrlBackup
67
67
  %w[start stop].each do |cmd|
68
68
  describe "##{cmd}" do
69
69
  it "should #{cmd} the virtual machine" do
70
- @vm.should_receive(:command!).with('prlctl', cmd, @uuid).and_return('')
70
+ @vm.should_receive(:conditionally_run).with('prlctl', cmd, @uuid).and_return('')
71
71
  @vm.send(cmd)
72
72
  end
73
73
  end
@@ -76,30 +76,30 @@ module PrlBackup
76
76
  describe '#backup' do
77
77
  it 'should create an incremental backup by default' do
78
78
  @vm.stub(:config).and_return({})
79
- @vm.should_receive(:command!).with('prlctl', 'backup', @uuid)
79
+ @vm.should_receive(:conditionally_run).with('prlctl', 'backup', @uuid)
80
80
  @vm.instance_eval { backup }
81
81
  end
82
82
 
83
83
  it 'should create a full backup when configured' do
84
84
  @vm.stub(:config).and_return({:full => true})
85
- @vm.should_receive(:command!).with('prlctl', 'backup', @uuid, '--full')
85
+ @vm.should_receive(:conditionally_run).with('prlctl', 'backup', @uuid, '--full')
86
86
  @vm.instance_eval { backup }
87
87
  end
88
88
  end
89
89
 
90
- describe '#safe_backup' do
90
+ describe '#safely_backup' do
91
91
  it 'should stop the VM during the backup' do
92
92
  @vm.stub(:stopped?).and_return(false)
93
93
  @vm.should_receive(:stop).ordered
94
94
  @vm.should_receive(:backup).ordered
95
95
  @vm.should_receive(:start).ordered
96
- @vm.safe_backup
96
+ @vm.safely_backup
97
97
  end
98
98
 
99
99
  it 'should not stop the VM when already shutdown' do
100
100
  @vm.stub(:stopped?).and_return(true)
101
101
  @vm.should_receive(:backup)
102
- @vm.safe_backup
102
+ @vm.safely_backup
103
103
  end
104
104
  end
105
105
 
@@ -133,7 +133,7 @@ module PrlBackup
133
133
 
134
134
  describe '#delete_backup' do
135
135
  it 'should delete the virtual machines backup' do
136
- @vm.should_receive(:command!).with('prlctl', 'backup-delete', '--tag', '{some-backup-uuid}')
136
+ @vm.should_receive(:conditionally_run).with('prlctl', 'backup-delete', '--tag', '{some-backup-uuid}')
137
137
  @vm.instance_eval { delete_backup('{some-backup-uuid}') }
138
138
  end
139
139
  end
@@ -148,11 +148,11 @@ ID Backup_ID Node Date
148
148
  {deadbeef} {2aeb4ada-6623-4087-9fc5-f09aeaafd81e} psfm.example.com 03/23/2012 21:25:50 f 47315014888
149
149
  {deadbeef} {68f7e154-6755-46f6-ad1f-a79c5f488f35} psfm.example.com 03/28/2012 15:09:05 f 23462808438
150
150
  {deadbeef} {68f7e154-6755-46f6-ad1f-a79c5f488f35}.2 psfm.example.com 04/05/2012 17:21:12 i 12841952117'
151
- @vm.stub(:command).and_return(stdout)
151
+ @vm.stub(:run).and_return(stdout)
152
152
  end
153
153
 
154
154
  it 'should query the backup list by CLI' do
155
- @vm.should_receive(:command).with('prlctl', 'backup-list', @uuid)
155
+ @vm.should_receive(:run).with('prlctl', 'backup-list', @uuid)
156
156
  @vm.instance_eval { full_backups }
157
157
  end
158
158
 
@@ -194,12 +194,12 @@ ID Backup_ID Node Date
194
194
 
195
195
  describe '#update_info' do
196
196
  it 'should query infos about the virtual machine' do
197
- @vm.should_receive(:command).with('prlctl', 'list', '--info', 'foo')
197
+ @vm.should_receive(:run).with('prlctl', 'list', '--info', 'foo')
198
198
  @vm.instance_eval { update_info }
199
199
  end
200
200
 
201
201
  it 'should update and return the infos' do
202
- @vm.stub(:command).and_return('Foo: Bar', 'Foo: Baz')
202
+ @vm.stub(:run).and_return('Foo: Bar', 'Foo: Baz')
203
203
  @vm.instance_eval { update_info }.should eql('Foo: Bar')
204
204
  @vm.instance_eval { info }.should eql('Foo: Bar')
205
205
  @vm.instance_eval { update_info }.should eql('Foo: Baz')
@@ -5,10 +5,10 @@ module PrlBackup
5
5
  include PrlBackup
6
6
  end
7
7
 
8
- describe '#command!' do
8
+ describe '#conditionally_run' do
9
9
  before do
10
10
  @foo = Foo.new
11
- @foo.stub(:command).and_return('')
11
+ @foo.stub(:run).and_return('')
12
12
  @foo.stub_chain(:logger, :info)
13
13
  end
14
14
 
@@ -18,19 +18,19 @@ module PrlBackup
18
18
  end
19
19
 
20
20
  it 'should run the command' do
21
- @foo.should_receive(:command).with('hello', 'world')
22
- @foo.command!('hello', 'world')
21
+ @foo.should_receive(:run).with('hello', 'world')
22
+ @foo.conditionally_run('hello', 'world')
23
23
  end
24
24
 
25
25
  it 'should return stdout from command' do
26
- @foo.stub(:command).and_return("hello\nworld")
27
- @foo.command!.should eql("hello\nworld")
26
+ @foo.stub(:run).and_return("hello\nworld")
27
+ @foo.conditionally_run.should eql("hello\nworld")
28
28
  end
29
29
 
30
30
  it 'should log the last stdout line' do
31
- @foo.stub(:command).and_return("first line\nlast line")
31
+ @foo.stub(:run).and_return("first line\nlast line")
32
32
  @foo.logger.should_receive(:info).with('last line')
33
- @foo.command!
33
+ @foo.conditionally_run
34
34
  end
35
35
  end
36
36
 
@@ -40,17 +40,17 @@ module PrlBackup
40
40
  end
41
41
 
42
42
  it 'should not run the command' do
43
- @foo.should_not_receive(:command)
44
- @foo.command!
43
+ @foo.should_not_receive(:run)
44
+ @foo.conditionally_run
45
45
  end
46
46
 
47
47
  it 'should return a blank string' do
48
- @foo.command!.should eql('')
48
+ @foo.conditionally_run.should eql('')
49
49
  end
50
50
 
51
51
  it 'should log the command which would be performed' do
52
52
  @foo.logger.should_receive(:info).with('Dry-running `some command`...')
53
- @foo.command!('some', 'command')
53
+ @foo.conditionally_run('some', 'command')
54
54
  end
55
55
  end
56
56
  end
@@ -82,7 +82,7 @@ module PrlBackup
82
82
  end
83
83
  end
84
84
 
85
- describe '#command' do
85
+ describe '#run' do
86
86
  context 'with option --verbose' do
87
87
  before do
88
88
  @foo = Foo.new
@@ -94,7 +94,7 @@ module PrlBackup
94
94
 
95
95
  it 'should log which command would be running' do
96
96
  @foo.logger.should_receive(:info).with('Running `some command`...')
97
- @foo.command('some', 'command')
97
+ @foo.run('some', 'command')
98
98
  end
99
99
  end
100
100
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prlbackup
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-05-02 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mixlib-cli
16
- requirement: &70187429036680 !ruby/object:Gem::Requirement
16
+ requirement: &70294085963400 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.2.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70187429036680
24
+ version_requirements: *70294085963400
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: gem-man
27
- requirement: &70187429034300 !ruby/object:Gem::Requirement
27
+ requirement: &70294085961160 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.3.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70187429034300
35
+ version_requirements: *70294085961160
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: cucumber
38
- requirement: &70187429032680 !ruby/object:Gem::Requirement
38
+ requirement: &70294085959680 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.1.4
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70187429032680
46
+ version_requirements: *70294085959680
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: aruba
49
- requirement: &70187429031540 !ruby/object:Gem::Requirement
49
+ requirement: &70294085958680 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 0.4.11
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70187429031540
57
+ version_requirements: *70294085958680
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: aruba-doubles
60
- requirement: &70187429030720 !ruby/object:Gem::Requirement
60
+ requirement: &70294085949480 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.2.1
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70187429030720
68
+ version_requirements: *70294085949480
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: guard-cucumber
71
- requirement: &70187429029460 !ruby/object:Gem::Requirement
71
+ requirement: &70294085948560 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 0.7.5
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70187429029460
79
+ version_requirements: *70294085948560
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: guard-rspec
82
- requirement: &70187429028520 !ruby/object:Gem::Requirement
82
+ requirement: &70294085947860 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 0.5.1
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70187429028520
90
+ version_requirements: *70294085947860
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: guard-ronn
93
- requirement: &70187429027660 !ruby/object:Gem::Requirement
93
+ requirement: &70294085947080 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 0.1.2
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70187429027660
101
+ version_requirements: *70294085947080
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: ronn
104
- requirement: &70187429026680 !ruby/object:Gem::Requirement
104
+ requirement: &70294085946220 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: 0.7.3
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *70187429026680
112
+ version_requirements: *70294085946220
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: rake
115
- requirement: &70187429025980 !ruby/object:Gem::Requirement
115
+ requirement: &70294085945520 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: '0'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *70187429025980
123
+ version_requirements: *70294085945520
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: rb-fsevent
126
- requirement: &70187429024760 !ruby/object:Gem::Requirement
126
+ requirement: &70294085944620 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ! '>='
@@ -131,7 +131,7 @@ dependencies:
131
131
  version: 0.9.0
132
132
  type: :development
133
133
  prerelease: false
134
- version_requirements: *70187429024760
134
+ version_requirements: *70294085944620
135
135
  description: an awesome backup tool for Parallels Server Virtual Machines
136
136
  email:
137
137
  - bjoernalbers@googlemail.com
@@ -178,7 +178,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
178
178
  version: '0'
179
179
  segments:
180
180
  - 0
181
- hash: 1982338634327225623
181
+ hash: -2854160229902892103
182
182
  required_rubygems_version: !ruby/object:Gem::Requirement
183
183
  none: false
184
184
  requirements:
@@ -187,13 +187,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
187
187
  version: '0'
188
188
  segments:
189
189
  - 0
190
- hash: 1982338634327225623
190
+ hash: -2854160229902892103
191
191
  requirements: []
192
192
  rubyforge_project:
193
193
  rubygems_version: 1.8.10
194
194
  signing_key:
195
195
  specification_version: 3
196
- summary: prlbackup-1.1.1
196
+ summary: prlbackup-1.1.2
197
197
  test_files:
198
198
  - features/cleanup.feature
199
199
  - features/create_backups.feature