mina-multistage 0.1.0 → 0.1.1
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.
- 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
|