foreplay 0.7.3 → 0.7.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 723f0071cd06023ca4d21388cffe21b6bb4751ee
4
- data.tar.gz: ee924c943327303248273170e5e75bd526dcb8be
3
+ metadata.gz: 8ab23846c6c02261278f387250802bc2bdcb9dd5
4
+ data.tar.gz: 3326086f37c06810bbf1909da7ce47ed13471cb6
5
5
  SHA512:
6
- metadata.gz: 0c563791606c25ff157f2fb44c1498d63105992d5a687ae85363af8907dfdf1f8bef603d10b9fb93eca64ed58cf930f6cf88d852bd8d2faef17f7a85f210171b
7
- data.tar.gz: a7932fd647001d10f04f3dc002d819a9646d41621317bd8fb451da756de4c4356937b78d3c7fdd2f882b3f0aaa26a9c4b684364f29db7fb2afd99680d6b46668
6
+ metadata.gz: 4f2a587e2cf402c56bbb9a622b891a65d0925950a5a0f2ed5458df08ca1217c35e7ec02bbae071bae30450d91784e93b544747cf1c05e8bcfa10ec730fd37519
7
+ data.tar.gz: 2f813c354fa2024b25428403dc8d873c68fd7dce368d96c6bf5cac88e1a711af807d5c47264b29ff04b6c7f3648fd66daea708e64126d66a2a576a750d801f16
data/.hound.yml CHANGED
@@ -1,43 +1,4 @@
1
1
  ---
2
- StringLiterals:
3
- EnforcedStyle: single_quotes
4
- Enabled: true
5
-
6
- DotPosition:
7
- Description: 'Checks the position of the dot in multi-line method calls.'
8
- EnforcedStyle: leading
9
- # EnforcedStyle: trailing
10
- Enabled: true
11
-
12
- LineLength:
13
- Description: 'Limit lines to 137 characters.'
14
- Max: 137
15
- Enabled: true
16
-
17
- FileName:
18
- Description: 'Use snake_case for source file names.'
19
- Enabled: false
20
-
21
- MethodLength:
22
- Description: 'Avoid methods longer than 10 lines of code.'
23
- Enabled: false
24
-
25
- Documentation:
26
- Description: 'Document classes and non-namespace modules.'
27
- Enabled: false
28
-
29
- CyclomaticComplexity:
30
- Description: 'Avoid complex methods.'
31
- Max: 13
32
-
33
- PerceivedComplexity:
34
- Max: 17
35
-
36
- ClassLength:
37
- Description: 'Avoid classes longer than 100 lines of code.'
38
- CountComments: false # count full line comments?
39
- Max: 290
40
-
41
- Output:
42
- Description: 'Checks for calls to puts, print, etc.'
43
- Enabled: false
2
+ ruby:
3
+ enabled: true
4
+ config_file: .rubocop.yml
data/.rubocop.yml CHANGED
@@ -1 +1,49 @@
1
- inherit_from: .hound.yml
1
+ ---
2
+ StringLiterals:
3
+ EnforcedStyle: single_quotes
4
+ Enabled: true
5
+
6
+ DotPosition:
7
+ Description: 'Checks the position of the dot in multi-line method calls.'
8
+ EnforcedStyle: leading
9
+ # EnforcedStyle: trailing
10
+ Enabled: true
11
+
12
+ LineLength:
13
+ Description: 'Limit lines to 137 characters.'
14
+ Max: 137
15
+ Enabled: true
16
+
17
+ FileName:
18
+ Description: 'Use snake_case for source file names.'
19
+ Enabled: false
20
+
21
+ MethodLength:
22
+ Description: 'Avoid methods longer than 10 lines of code.'
23
+ Enabled: false
24
+
25
+ Documentation:
26
+ Description: 'Document classes and non-namespace modules.'
27
+ Enabled: false
28
+
29
+ CyclomaticComplexity:
30
+ Description: 'Avoid complex methods.'
31
+ Max: 13
32
+
33
+ PerceivedComplexity:
34
+ Max: 17
35
+
36
+ ClassLength:
37
+ Description: 'Avoid classes longer than 100 lines of code.'
38
+ CountComments: false # count full line comments?
39
+ Max: 290
40
+
41
+ Output:
42
+ Description: 'Checks for calls to puts, print, etc.'
43
+ Enabled: false
44
+
45
+ AbcSize:
46
+ Max: 60
47
+
48
+ ExtraSpacing:
49
+ Enabled: false
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.1.1
1
+ 2.2.0
data/foreplay.gemspec CHANGED
@@ -17,18 +17,19 @@ Gem::Specification.new do |spec|
17
17
  spec.test_files = spec.files.grep(/^(test|spec|features|coverage)\//)
18
18
  spec.require_paths = ['lib']
19
19
 
20
- spec.add_runtime_dependency 'activesupport', '> 3.2'
21
- spec.add_runtime_dependency 'colorize', '~> 0.7'
22
- spec.add_runtime_dependency 'foreman', '~> 0.67'
23
- spec.add_runtime_dependency 'ssh-shell', '~> 0.4'
20
+ spec.add_runtime_dependency 'activesupport', '>= 3.2'
21
+ spec.add_runtime_dependency 'colorize', '>= 0.7'
22
+ spec.add_runtime_dependency 'foreman', '>= 0.76'
23
+ spec.add_runtime_dependency 'ssh-shell', '>= 0.4'
24
24
  # spec.add_runtime_dependency 'thor', '~> 0.19' # Dependency of foreman anyway
25
25
 
26
- spec.add_development_dependency 'bundler', '~> 1.6'
27
- spec.add_development_dependency 'rake', '~> 10.3'
28
- spec.add_development_dependency 'rspec', '~> 2.14'
29
- spec.add_development_dependency 'cucumber', '~> 1.3'
30
- spec.add_development_dependency 'aruba', '~> 0.5'
31
- spec.add_development_dependency 'gem-release', '~> 0.7'
32
- spec.add_development_dependency 'simplecov', '~> 0.7', '>= 0.7.1' # https://github.com/colszowka/simplecov/issues/281
33
- spec.add_development_dependency 'coveralls', '~> 0'
26
+ spec.add_development_dependency 'bundler', '>= 1.6'
27
+ spec.add_development_dependency 'rake', '>= 10.3'
28
+ spec.add_development_dependency 'rspec', '>= 3.2'
29
+ spec.add_development_dependency 'cucumber', '>= 1.3'
30
+ spec.add_development_dependency 'aruba', '>= 0.5'
31
+ spec.add_development_dependency 'gem-release', '>= 0.7'
32
+ spec.add_development_dependency 'simplecov', '>= 0.7', '>= 0.7.1' # https://github.com/colszowka/simplecov/issues/281
33
+ spec.add_development_dependency 'coveralls', '>= 0.7'
34
+ spec.add_development_dependency 'rubocop', '> 0.29'
34
35
  end
data/foreplay.rake CHANGED
@@ -17,12 +17,12 @@
17
17
 
18
18
  namespace :foreplay do
19
19
  desc 'Push app to deployment targets'
20
- task :push => :environment do
21
- Foreplay::push
20
+ task push: :environment do
21
+ Foreplay.push
22
22
  end
23
23
 
24
24
  desc 'Check deployment configuration'
25
- task :check => :environment do
26
- Foreplay::push true
25
+ task check: :environment do
26
+ Foreplay.push true
27
27
  end
28
28
  end
@@ -77,7 +77,7 @@ module Foreplay
77
77
  threads.concat deploy_role(instructions)
78
78
  end
79
79
 
80
- threads.each { |thread| thread.join }
80
+ threads.each(&:join)
81
81
 
82
82
  puts mode == :deploy ? 'Finished deployment' : 'Deployment configuration check was successful'
83
83
  end
@@ -166,7 +166,7 @@ module Foreplay
166
166
  commentary: 'Trusting the .rvmrc file for the new instance' },
167
167
  { command: "rvm rvmrc warning ignore #{current_port}",
168
168
  commentary: 'Ignoring the .rvmrc warning for the new instance' },
169
- { command: 'gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3',
169
+ { command: 'gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys D39DC0E3',
170
170
  commentary: "Trusting RVM's public key" },
171
171
  { command: "cd #{current_port} && mkdir -p tmp doc log config",
172
172
  commentary: 'If you have a .rvmrc file there may be a delay now while we install a new ruby' },
@@ -280,39 +280,37 @@ module Foreplay
280
280
  puts "#{server}#{INDENT}Connecting to #{server} on port #{port}"
281
281
 
282
282
  # SSH connection
283
- begin
284
- Net::SSH.start(server, user, options) do |session|
285
- puts "#{server}#{INDENT}Successfully connected to #{server} on port #{port}"
286
-
287
- session.shell do |sh|
288
- steps.each do |step|
289
- # Output from this step
290
- output = ''
291
- previous = '' # We don't need or want the final CRLF
292
- commands = build_step server, step, instructions
293
-
294
- commands.each do |command|
295
- process = sh.execute command
296
-
297
- process.on_output do |_, o|
298
- previous = o
299
- output += previous
300
- end
301
-
302
- sh.wait!
303
-
304
- if step[:ignore_error] == true || process.exit_status == 0
305
- print output.gsub!(/^/, "#{server}#{INDENT * 2}") unless step[:silent] == true || output.blank?
306
- else
307
- terminate(output)
308
- end
309
- end
283
+ session = start_session(server, server_port, user, options)
284
+
285
+ puts "#{server}#{INDENT}Successfully connected to #{server} on port #{port}"
286
+
287
+ session.shell do |sh|
288
+ steps.each do |step|
289
+ # Output from this step
290
+ output = ''
291
+ previous = '' # We don't need or want the final CRLF
292
+ commands = build_step server, step, instructions
293
+
294
+ commands.each do |command|
295
+ process = sh.execute command
296
+
297
+ process.on_output do |_, o|
298
+ previous = o
299
+ output += previous
300
+ end
301
+
302
+ sh.wait!
303
+
304
+ if step[:ignore_error] == true || process.exit_status == 0
305
+ print output.gsub!(/^/, "#{server}#{INDENT * 2}") unless step[:silent] == true || output.blank?
306
+ else
307
+ terminate(output)
310
308
  end
311
309
  end
312
310
  end
313
- rescue SocketError => e
314
- terminate "#{server}#{INDENT}There was a problem starting an ssh session on #{server_port}:\n#{e.message}"
315
311
  end
312
+
313
+ session.close
316
314
  else
317
315
  # Deployment check: just say what we would have done
318
316
  steps.each do |step|
@@ -325,6 +323,12 @@ module Foreplay
325
323
  output
326
324
  end
327
325
 
326
+ def start_session(server, server_port, user, options)
327
+ Net::SSH.start(server, user, options)
328
+ rescue SocketError => e
329
+ terminate "#{server}#{INDENT}There was a problem starting an ssh session on #{server_port}:\n#{e.message}"
330
+ end
331
+
328
332
  def build_step(server, step, instructions)
329
333
  puts "#{server}#{INDENT}#{(step[:commentary] || step[:command]).yellow}" unless step[:silent] == true
330
334
 
@@ -1,3 +1,3 @@
1
1
  module Foreplay
2
- VERSION = '0.7.3'
2
+ VERSION = '0.7.4'
3
3
  end
@@ -3,10 +3,9 @@ require 'foreplay'
3
3
  require 'net/ssh/shell'
4
4
 
5
5
  describe Foreplay::Deploy do
6
- let(:ssh) { double(Net::SSH) }
7
- let(:session) { double(Net::SSH::Connection::Session) }
8
- let(:shell) { double(Net::SSH::Shell) }
9
- let(:process) { double(Net::SSH::Shell::Process) }
6
+ let(:session) { double(Net::SSH::Connection::Session) }
7
+ let(:shell) { double(Net::SSH::Shell) }
8
+ let(:process) { double(Net::SSH::Shell::Process) }
10
9
 
11
10
  before :each do
12
11
  # Setup foreplay
@@ -14,12 +13,13 @@ describe Foreplay::Deploy do
14
13
  `foreplay setup -r git@github.com:Xenapto/foreplay.git -s web1.example.com web2.example.com -f apps/%a -u fred --password trollope`
15
14
 
16
15
  # Stub all the things
17
- Net::SSH.stub(:start).and_yield(session)
18
- session.stub(:shell).and_yield(shell)
19
- shell.stub(:execute).and_return(process)
20
- shell.stub(:wait!).and_return(false)
21
- process.stub(:on_output).and_yield(process, "output message\n")
22
- process.stub(:exit_status).and_return(0)
16
+ allow(Net::SSH).to receive(:start).and_return(session)
17
+ allow(session).to receive(:close)
18
+ allow(session).to receive(:shell).and_yield(shell)
19
+ allow(shell).to receive(:execute).and_return(process)
20
+ allow(shell).to receive(:wait!).and_return(false)
21
+ allow(process).to receive(:on_output).and_yield(process, "output message\n")
22
+ allow(process).to receive(:exit_status).and_return(0)
23
23
  end
24
24
 
25
25
  it "should complain on check if there's no config file" do
@@ -70,27 +70,27 @@ describe Foreplay::Deploy do
70
70
  end
71
71
 
72
72
  it 'should terminate if a remote process exits with a non-zero status' do
73
- process.stub(:exit_status).and_return(1)
73
+ allow(process).to receive(:exit_status).and_return(1)
74
74
  expect { Foreplay::Deploy.start([:deploy, 'production', '']) }.to raise_error(RuntimeError, /.*output message.*/)
75
75
  end
76
76
 
77
77
  it "should terminate if a connection can't be established with the remote server" do
78
- Net::SSH.unstub(:start)
78
+ allow(Net::SSH).to receive(:start).and_call_original
79
79
  expect { Foreplay::Deploy.start([:deploy, 'production', '']) }
80
80
  .to raise_error(RuntimeError, /.*There was a problem starting an ssh session on web1.example.com.*/)
81
81
  end
82
82
 
83
83
  it 'should check the config' do
84
- $stdout.should_receive(:puts).at_least(:once)
84
+ expect($stdout).to receive(:puts).at_least(:once)
85
85
  Foreplay::Deploy.start [:check, 'production', '']
86
86
  end
87
87
 
88
88
  it 'should deploy to the environment' do
89
- Net::SSH
90
- .should_receive(:start)
89
+ expect(Net::SSH)
90
+ .to(receive(:start))
91
91
  .with(/web[12].example.com/, 'fred', verbose: :warn, port: 22, password: 'trollope')
92
92
  .exactly(4).times
93
- .and_yield(session)
93
+ .and_return(session)
94
94
 
95
95
  [
96
96
  'mkdir -p apps/foreplay && cd apps/foreplay && rm -rf 50000 && git clone -b master git@github.com:Xenapto/foreplay.git 50000',
@@ -132,25 +132,25 @@ describe Foreplay::Deploy do
132
132
  'sudo iptables-save -c | egrep REDIRECT --color=never',
133
133
  'sudo stop foreplay-51000 || echo \'No previous instance running\''
134
134
  ].each do |command|
135
- shell.should_receive(:execute).with(command).and_return(process)
135
+ expect(shell).to receive(:execute).with(command).and_return(process)
136
136
  end
137
137
 
138
138
  Foreplay::Deploy.start [:deploy, 'production', '']
139
139
  end
140
140
 
141
- it "should use another port if there's already an installed instance" do
142
- process.stub(:on_output).and_yield(process, "50000\n")
143
- shell.should_receive(:execute).with('echo 51000 > $HOME/.foreplay/foreplay/current_port').and_return(process)
141
+ it "uses another port if there's already an installed instance" do
142
+ allow(process).to receive(:on_output).and_yield(process, "50000\n")
143
+ expect(shell).to receive(:execute).with('echo 51000 > $HOME/.foreplay/foreplay/current_port').and_return(process)
144
144
  Foreplay::Deploy.start [:deploy, 'production', '']
145
145
  end
146
146
 
147
- it 'should use the private key provided in the config file' do
147
+ it 'uses the private key provided in the config file' do
148
148
  `rm -f config/foreplay.yml`
149
149
  `foreplay setup -r git@github.com:Xenapto/foreplay.git -s web.example.com -f apps/%a -u fred -k "top secret private key"`
150
150
  Foreplay::Deploy.start([:deploy, 'production', ''])
151
151
  end
152
152
 
153
- it 'should add Redis details for Resque' do
153
+ it 'adds Redis details for Resque' do
154
154
  `rm -f config/foreplay.yml`
155
155
  `foreplay setup -r git@github.com:Xenapto/foreplay.git -s web.example.com -f apps/%a -u fred --resque-redis "redis://localhost:6379"`
156
156
  Foreplay::Deploy.start([:deploy, 'production', ''])
@@ -7,22 +7,22 @@ describe Foreplay::Utility do
7
7
  end
8
8
 
9
9
  it 'should merge two simple hashes' do
10
- expect(Foreplay::Utility.supermerge({ a: 'x' }, { b: 'y' })).to eq('a' => 'x', 'b' => 'y')
10
+ expect(Foreplay::Utility.supermerge({ a: 'x' }, b: 'y')).to eq('a' => 'x', 'b' => 'y')
11
11
  end
12
12
 
13
13
  it 'should merge two hashes both with arrays at the same key' do
14
- expect(Foreplay::Utility.supermerge({ a: ['x'] }, { a: ['y'] })).to eq('a' => %w(x y))
14
+ expect(Foreplay::Utility.supermerge({ a: ['x'] }, a: ['y'])).to eq('a' => %w(x y))
15
15
  end
16
16
 
17
17
  it 'should merge an array and a value at the same key' do
18
- expect(Foreplay::Utility.supermerge({ a: 'x' }, { a: ['y'] })).to eq('a' => %w(x y))
18
+ expect(Foreplay::Utility.supermerge({ a: 'x' }, a: ['y'])).to eq('a' => %w(x y))
19
19
  end
20
20
 
21
21
  it 'should replace a value at the same key' do
22
- expect(Foreplay::Utility.supermerge({ a: 'x' }, { a: 'y' })).to eq('a' => 'y')
22
+ expect(Foreplay::Utility.supermerge({ a: 'x' }, a: 'y')).to eq('a' => 'y')
23
23
  end
24
24
 
25
25
  it 'should merge two subhashes at the same key' do
26
- expect(Foreplay::Utility.supermerge({ a: { b: 'x' } }, { a: { c: 'y' } })).to eq('a' => { 'b' => 'x', 'c' => 'y' })
26
+ expect(Foreplay::Utility.supermerge({ a: { b: 'x' } }, a: { c: 'y' })).to eq('a' => { 'b' => 'x', 'c' => 'y' })
27
27
  end
28
28
  end
metadata CHANGED
@@ -1,160 +1,160 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreplay
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.3
4
+ version: 0.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Xenapto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-22 00:00:00.000000000 Z
11
+ date: 2015-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: colorize
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0.7'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0.7'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: foreman
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '0.67'
47
+ version: '0.76'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '0.67'
54
+ version: '0.76'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: ssh-shell
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0.4'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.4'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '1.6'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '1.6'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '10.3'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '10.3'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '2.14'
103
+ version: '3.2'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '2.14'
110
+ version: '3.2'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: cucumber
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '1.3'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - "~>"
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '1.3'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: aruba
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - "~>"
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0.5'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - "~>"
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0.5'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: gem-release
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - "~>"
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0.7'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - "~>"
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0.7'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: simplecov
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - "~>"
157
+ - - ">="
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0.7'
160
160
  - - ">="
@@ -164,7 +164,7 @@ dependencies:
164
164
  prerelease: false
165
165
  version_requirements: !ruby/object:Gem::Requirement
166
166
  requirements:
167
- - - "~>"
167
+ - - ">="
168
168
  - !ruby/object:Gem::Version
169
169
  version: '0.7'
170
170
  - - ">="
@@ -174,16 +174,30 @@ dependencies:
174
174
  name: coveralls
175
175
  requirement: !ruby/object:Gem::Requirement
176
176
  requirements:
177
- - - "~>"
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0.7'
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '0.7'
187
+ - !ruby/object:Gem::Dependency
188
+ name: rubocop
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - ">"
178
192
  - !ruby/object:Gem::Version
179
- version: '0'
193
+ version: '0.29'
180
194
  type: :development
181
195
  prerelease: false
182
196
  version_requirements: !ruby/object:Gem::Requirement
183
197
  requirements:
184
- - - "~>"
198
+ - - ">"
185
199
  - !ruby/object:Gem::Version
186
- version: '0'
200
+ version: '0.29'
187
201
  description: Deploying Rails projects to Ubuntu using Foreman
188
202
  email:
189
203
  - developers@xenapto.com
@@ -238,7 +252,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
238
252
  version: '0'
239
253
  requirements: []
240
254
  rubyforge_project:
241
- rubygems_version: 2.2.2
255
+ rubygems_version: 2.4.5
242
256
  signing_key:
243
257
  specification_version: 4
244
258
  summary: 'Example: foreplay push to production'