capistrano-upload-config 0.7.0 → 0.8.2

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: 374f20ce7842bdf074f18ef70955c338da2a8a77
4
- data.tar.gz: aeddf47b8458c7f70ed29344a54a77d7f755afe3
3
+ metadata.gz: 358c1cccd790b716915fa7f506cd42460620b91b
4
+ data.tar.gz: 9db4df937dd439546bcb70bc426cd345a6e833ab
5
5
  SHA512:
6
- metadata.gz: dc85496ab5ad9f57bd3c6e5c22189e489b15664444b469d7b9d7476231496cc87918dc3e69ea798b3017a6a35e391904cdfc973a60187d349ad5940df388671b
7
- data.tar.gz: 49294687f402d65e0f3ffbce4d0ff1072b2dbafd82d20b050777b2ca4e531d6970ecd01eff75c0445849fb35963c79753a2a12117687557361483556a23b47ce
6
+ metadata.gz: 2b05de93c46b982ef597d735d651f30792ee08be7a81fdf2ed526eef58f9d5b760b7b77e99ee78828c972a6b91d697f0d336a11bd63e041bbc6749e3786dca62
7
+ data.tar.gz: 538de4da01294100d615b13448f0d8deeff29b4dc042ea16f9c33d28def5310b11f202664e568c781fe6f8a442c583d3354d025821f6a65cfa94b950ab534c49
data/README.md CHANGED
@@ -76,7 +76,7 @@ This task creates the config on the remote server.
76
76
 
77
77
 
78
78
  ```shell
79
- $ cap staging config:init
79
+ $ cap staging config:push
80
80
  WARN Already Exists: config/database.staging.yml
81
81
  INFO Copied: config/example.yml-example to config/example.staging.yml
82
82
  Created: config/foobar.staging.yml as empty file
@@ -113,6 +113,7 @@ Configurable options, shown here with defaults:
113
113
  ```ruby
114
114
  set :config_files, fetch(:linked_files)
115
115
  set :config_example_suffix, '-example'
116
+ set :local_base_dir, ''
116
117
  ```
117
118
 
118
119
  By default your `:linked_files` are assumed to be config files, this might be totally wrong for your environment, never fear just:
@@ -156,6 +157,18 @@ set :config_files, [ ".env.php" ]
156
157
  Running `cap staging config:push` will upload the remote file as
157
158
  `.env.staging.php`, rather than `.env.php`.
158
159
 
160
+ #### Local Base Dir
161
+
162
+ Using this option you can base your local config file/s in any directory, if unset they're assumed to be in the current directory tree.
163
+
164
+ ```ruby
165
+ # in deploy.rb
166
+
167
+ set :local_base_dir, '..'
168
+ ```
169
+
170
+ For example Capistrano is outside of the application root and your config lives relative to the directory above.
171
+
159
172
  ## Contributing
160
173
 
161
174
  1. Fork it
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'capistrano-upload-config'
7
- spec.version = '0.7.0'
7
+ spec.version = '0.8.2'
8
8
  spec.authors = 'Robert Coleman'
9
9
  spec.email = 'github@robert.net.nz'
10
10
  spec.description = %q{Capistrano 3.x tasks to upload shared config that is stored outside of SCM}
@@ -4,7 +4,7 @@ namespace :config do
4
4
  task :init do
5
5
  run_locally do
6
6
  fetch(:config_files).each do |config|
7
- local_path = CapistranoUploadConfig::Helpers.get_local_config_name(config, fetch(:stage).to_s)
7
+ local_path = CapistranoUploadConfig::Helpers.get_config_name(config, fetch(:stage).to_s, fetch(:local_base_dir).to_s)
8
8
  if File.exists?(local_path)
9
9
  warn "Already Exists: #{local_path}"
10
10
  else
@@ -25,7 +25,7 @@ namespace :config do
25
25
  task :check do
26
26
  run_locally do
27
27
  fetch(:config_files).each do |config|
28
- local_path = CapistranoUploadConfig::Helpers.get_local_config_name(config, fetch(:stage).to_s)
28
+ local_path = CapistranoUploadConfig::Helpers.get_config_name(config, fetch(:stage).to_s, fetch(:local_base_dir).to_s)
29
29
  if File.exists?(local_path)
30
30
  info "Found: #{local_path}"
31
31
  else
@@ -41,7 +41,7 @@ namespace :config do
41
41
  within shared_path do
42
42
  use_stage_remotely = fetch(:config_use_stage_remotely)
43
43
  fetch(:config_files).each do |config|
44
- local_path = CapistranoUploadConfig::Helpers.get_local_config_name(config, fetch(:stage).to_s)
44
+ local_path = CapistranoUploadConfig::Helpers.get_config_name(config, fetch(:stage).to_s, fetch(:local_base_dir).to_s)
45
45
  server_name = use_stage_remotely ? local_path.split('/').last : config
46
46
  if File.exists?(local_path)
47
47
  info "Uploading config #{local_path} as #{server_name}"
@@ -60,7 +60,7 @@ namespace :config do
60
60
  within shared_path do
61
61
  use_stage_remotely = fetch(:config_use_stage_remotely)
62
62
  fetch(:config_files).each do |config|
63
- local_path = CapistranoUploadConfig::Helpers.get_local_config_name(config, fetch(:stage).to_s)
63
+ local_path = CapistranoUploadConfig::Helpers.get_config_name(config, fetch(:stage).to_s, fetch(:local_base_dir).to_s)
64
64
  server_name = use_stage_remotely ? local_path.split('/').last : config
65
65
  info "Downloading config #{server_name} as #{local_path} "
66
66
  download! File.join(shared_path, server_name), local_path
@@ -73,12 +73,11 @@ end
73
73
 
74
74
  namespace :load do
75
75
  task :defaults do
76
-
76
+ set :local_base_dir, '.'
77
77
  set :config_files, -> { fetch(:linked_files) }
78
78
  set :config_example_suffix, '-example'
79
79
  # https://github.com/rjocoleman/capistrano-upload-config/issues/1
80
80
  set :config_example_prefix, -> { fetch(:config_example_suffix) }
81
81
  set :config_use_stage_remotely, false
82
-
83
82
  end
84
83
  end
@@ -4,14 +4,14 @@ module CapistranoUploadConfig
4
4
  class Helpers
5
5
  class << self
6
6
 
7
- def get_local_config_name(config, stage)
8
- path = File.dirname(config)
7
+ def get_config_name(config, stage, local_base_dir)
8
+ path = File.dirname(File.join(local_base_dir, config))
9
9
  extension = File.extname(config)
10
10
  filename = File.basename(config, extension)
11
11
  extension.sub!(/^\./, '')
12
12
  local_file = [filename, stage].join('.')
13
13
  local_file = [local_file, extension].join('.') unless extension.empty?
14
- local_path = File.join(path, local_file)
14
+ File.join(path, local_file)
15
15
  end
16
16
 
17
17
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-upload-config
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Coleman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-17 00:00:00.000000000 Z
11
+ date: 2017-12-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capistrano
@@ -88,9 +88,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
88
88
  version: '0'
89
89
  requirements: []
90
90
  rubyforge_project:
91
- rubygems_version: 2.4.5.1
91
+ rubygems_version: 2.5.2
92
92
  signing_key:
93
93
  specification_version: 4
94
94
  summary: Capistrano 3.x tasks to upload shared config that is stored outside of SCM
95
95
  test_files: []
96
- has_rdoc: