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 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