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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 343b8b5a53ba6cd81bfe47a9bb4be30bfde7fc92
4
- data.tar.gz: 70a80e05557ad23bda60b529c150f744f4b2e7d9
3
+ metadata.gz: 2d839fbb64df8b6fe56afba18db9d528cd51f0b8
4
+ data.tar.gz: 3ed4553a9ebfddcaf9aa45347d6798803d375833
5
5
  SHA512:
6
- metadata.gz: 39c9ddbc1c5f5d4524ddad7199164c438477a9479af47ec630ac6759c7a36aca5d784f9050e1c09b80f961fbdd9b51da4c556c1887cc4958c732a3bb6366c5a5
7
- data.tar.gz: bae67d0c2dae04bd5621b5df59ff6dc65d029a151cf047ace4212700df554e291681e46bd3bf3d62baf325eb46df7dcee8c40cd20371375994594911f6c05679
6
+ metadata.gz: b4bf358b8bf87398db95dbe0b22d28dd72664a968aac6715e9afabaa8576addbb3ddb74eac84ecff75b88b2fda0c9a3155d2251a27a23f94b8758697902e27e9
7
+ data.tar.gz: 7b0e4ef4b9041c83188fc6ac29576616a12a25765ad6d898f2b0787a79145226e5e3699e593a9a33a14e6d4d336ce03d45c8a0f905151cdd37a7eceeae623f14
@@ -1,39 +1,58 @@
1
- require 'fileutils'
2
1
 
3
- default_stage = fetch(:default_stage, 'staging')
4
- location = fetch(:stages_dir, 'config/deploy')
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
- unless exists?(:stages)
7
- set :stages, Dir["#{location}/*.rb"].map { |f| File.basename(f, '.rb') }
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 `#{name}'."
33
+ desc "Set the target stage to '#{name}'."
12
34
  task(name) do
13
35
  set :stage, name
14
- file = "#{location}/#{stage}.rb"
36
+ file = "#{_stages_dir}/#{stage}.rb"
15
37
  load file
16
38
  end
17
39
  end
18
40
 
19
- unless stages.include?(ARGV.first)
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
- Dir.mkdir_p location if !File.exists? location
46
+ FileUtils.mkdir_p _stages_dir if !File.exists? _stages_dir
27
47
  %w{staging production}.each do |stage|
28
- stagefile = File.join(location, "#{stage}.rb")
29
- if !File.exists?(stagefile)
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
@@ -1,5 +1,5 @@
1
1
  module Mina
2
2
  module Multistage
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.1"
4
4
  end
5
5
  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.0
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-07-04 00:00:00.000000000 Z
11
+ date: 2014-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- version_requirements: !ruby/object:Gem::Requirement
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
- requirement: !ruby/object:Gem::Requirement
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
- version_requirements: !ruby/object:Gem::Requirement
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
- requirement: !ruby/object:Gem::Requirement
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
- version_requirements: !ruby/object:Gem::Requirement
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
- requirement: !ruby/object:Gem::Requirement
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.1
90
+ rubygems_version: 2.2.2
91
91
  signing_key:
92
92
  specification_version: 4
93
93
  summary: Adds multistage capabilities to Mina