mina-multistage 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mina/multistage.rb +33 -14
- data/lib/mina/multistage/version.rb +1 -1
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d839fbb64df8b6fe56afba18db9d528cd51f0b8
|
4
|
+
data.tar.gz: 3ed4553a9ebfddcaf9aa45347d6798803d375833
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b4bf358b8bf87398db95dbe0b22d28dd72664a968aac6715e9afabaa8576addbb3ddb74eac84ecff75b88b2fda0c9a3155d2251a27a23f94b8758697902e27e9
|
7
|
+
data.tar.gz: 7b0e4ef4b9041c83188fc6ac29576616a12a25765ad6d898f2b0787a79145226e5e3699e593a9a33a14e6d4d336ce03d45c8a0f905151cdd37a7eceeae623f14
|
data/lib/mina/multistage.rb
CHANGED
@@ -1,39 +1,58 @@
|
|
1
|
-
require 'fileutils'
|
2
1
|
|
3
|
-
|
4
|
-
|
2
|
+
def _default_stage
|
3
|
+
fetch(:default_stage, 'staging')
|
4
|
+
end
|
5
|
+
|
6
|
+
def _stages_dir
|
7
|
+
fetch(:stages_dir, 'config/deploy')
|
8
|
+
end
|
9
|
+
|
10
|
+
def _all_stages_empty?
|
11
|
+
!fetch(:stages, nil)
|
12
|
+
end
|
13
|
+
|
14
|
+
def _file_for_stage(stage_name)
|
15
|
+
File.join(_stages_dir, "#{stage_name}.rb")
|
16
|
+
end
|
5
17
|
|
6
|
-
|
7
|
-
|
18
|
+
def _stage_file_exists?(stage_name)
|
19
|
+
File.exists?(_file_for_stage(stage_name))
|
8
20
|
end
|
9
21
|
|
22
|
+
def _get_all_stages
|
23
|
+
Dir["#{_stages_dir}/*.rb"].reduce([]) { |all_stages, file| all_stages << File.basename(file, '.rb') }
|
24
|
+
end
|
25
|
+
|
26
|
+
def _argument_included_in_stages?(arg)
|
27
|
+
stages.include?(arg)
|
28
|
+
end
|
29
|
+
|
30
|
+
set :stages, _get_all_stages if _all_stages_empty?
|
31
|
+
|
10
32
|
stages.each do |name|
|
11
|
-
desc "Set the target stage to
|
33
|
+
desc "Set the target stage to '#{name}'."
|
12
34
|
task(name) do
|
13
35
|
set :stage, name
|
14
|
-
file = "#{
|
36
|
+
file = "#{_stages_dir}/#{stage}.rb"
|
15
37
|
load file
|
16
38
|
end
|
17
39
|
end
|
18
40
|
|
19
|
-
|
20
|
-
invoke default_stage
|
21
|
-
end
|
41
|
+
invoke _default_stage if _stage_file_exists?(_default_stage) && !_argument_included_in_stages?(ARGV.first)
|
22
42
|
|
23
43
|
namespace :multistage do
|
24
44
|
desc 'Create staging and production stage files'
|
25
45
|
task :init do
|
26
|
-
|
46
|
+
FileUtils.mkdir_p _stages_dir if !File.exists? _stages_dir
|
27
47
|
%w{staging production}.each do |stage|
|
28
|
-
stagefile =
|
29
|
-
if !
|
48
|
+
stagefile = _file_for_stage(stage)
|
49
|
+
if !_stage_file_exists?(stagefile)
|
30
50
|
File.open(stagefile, 'w') do |f|
|
31
51
|
f.puts "set :domain, ''"
|
32
52
|
f.puts "set :deploy_to, ''"
|
33
53
|
f.puts "set :repository, ''"
|
34
54
|
f.puts "set :branch, ''"
|
35
55
|
f.puts "set :user, ''"
|
36
|
-
f.puts "set :rails_env, '#{stage}'"
|
37
56
|
end
|
38
57
|
end
|
39
58
|
end
|
metadata
CHANGED
@@ -1,52 +1,52 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mina-multistage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-09-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
15
15
|
requirements:
|
16
16
|
- - '>='
|
17
17
|
- !ruby/object:Gem::Version
|
18
18
|
version: 0.2.1
|
19
19
|
prerelease: false
|
20
20
|
name: mina
|
21
|
-
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
22
22
|
requirements:
|
23
23
|
- - '>='
|
24
24
|
- !ruby/object:Gem::Version
|
25
25
|
version: 0.2.1
|
26
26
|
type: :runtime
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
30
30
|
- - '>='
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 1.3.5
|
33
33
|
prerelease: false
|
34
34
|
name: bundler
|
35
|
-
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - '>='
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: 1.3.5
|
40
40
|
type: :development
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - '>='
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: '0'
|
47
47
|
prerelease: false
|
48
48
|
name: rake
|
49
|
-
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - '>='
|
52
52
|
- !ruby/object:Gem::Version
|
@@ -87,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
87
|
version: '0'
|
88
88
|
requirements: []
|
89
89
|
rubyforge_project:
|
90
|
-
rubygems_version: 2.2.
|
90
|
+
rubygems_version: 2.2.2
|
91
91
|
signing_key:
|
92
92
|
specification_version: 4
|
93
93
|
summary: Adds multistage capabilities to Mina
|