capistrano-upload-config 0.7.0 → 0.9.0

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
- SHA1:
3
- metadata.gz: 374f20ce7842bdf074f18ef70955c338da2a8a77
4
- data.tar.gz: aeddf47b8458c7f70ed29344a54a77d7f755afe3
2
+ SHA256:
3
+ metadata.gz: 9d6e2a3a1e6d8b8229e6944f0bec54afa510947e0f348618d312fe41438a0131
4
+ data.tar.gz: 925c4b266e62f95f969334d7850661f1701c1fc8d0a2266407ffbb5b7214197a
5
5
  SHA512:
6
- metadata.gz: dc85496ab5ad9f57bd3c6e5c22189e489b15664444b469d7b9d7476231496cc87918dc3e69ea798b3017a6a35e391904cdfc973a60187d349ad5940df388671b
7
- data.tar.gz: 49294687f402d65e0f3ffbce4d0ff1072b2dbafd82d20b050777b2ca4e531d6970ecd01eff75c0445849fb35963c79753a2a12117687557361483556a23b47ce
6
+ metadata.gz: '089395f9bfeb4102f6a908e101a287a1fb3f32b465bb6ba225824ee214776bef4922f4967fbb21f91f0e842d88016dbfb3adfb02132141de449e6042413d10f9'
7
+ data.tar.gz: 07250d4c75acf42cf27e6cefc297813e76a430a163f3f40b02146d4a2c702ced4f67a4745f4a4641192e85a960ca007dfd4b30406da38b359f4f13117a6cd776
data/README.md CHANGED
@@ -76,10 +76,8 @@ This task creates the config on the remote server.
76
76
 
77
77
 
78
78
  ```shell
79
- $ cap staging config:init
80
- WARN Already Exists: config/database.staging.yml
81
- INFO Copied: config/example.yml-example to config/example.staging.yml
82
- Created: config/foobar.staging.yml as empty file
79
+ $ cap staging config:push
80
+ INFO Uploading config config/database.staging.yml as config/database.yml
83
81
  ```
84
82
 
85
83
  Can be used during a deploy, If your `:config_files` and `:linked_files` are going to be the same I suggest hooking in before
@@ -113,6 +111,7 @@ Configurable options, shown here with defaults:
113
111
  ```ruby
114
112
  set :config_files, fetch(:linked_files)
115
113
  set :config_example_suffix, '-example'
114
+ set :local_base_dir, ''
116
115
  ```
117
116
 
118
117
  By default your `:linked_files` are assumed to be config files, this might be totally wrong for your environment, never fear just:
@@ -156,6 +155,18 @@ set :config_files, [ ".env.php" ]
156
155
  Running `cap staging config:push` will upload the remote file as
157
156
  `.env.staging.php`, rather than `.env.php`.
158
157
 
158
+ #### Local Base Dir
159
+
160
+ 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.
161
+
162
+ ```ruby
163
+ # in deploy.rb
164
+
165
+ set :local_base_dir, '..'
166
+ ```
167
+
168
+ For example Capistrano is outside of the application root and your config lives relative to the directory above.
169
+
159
170
  ## Contributing
160
171
 
161
172
  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.9.0'
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,12 +4,12 @@ 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)
8
- if File.exists?(local_path)
7
+ local_path = CapistranoUploadConfig::Helpers.get_config_name(config, fetch(:stage).to_s, fetch(:local_base_dir).to_s)
8
+ if File.exist?(local_path)
9
9
  warn "Already Exists: #{local_path}"
10
10
  else
11
11
  example_suffix = fetch(:config_example_suffix, '')
12
- if File.exists?("#{config}#{example_suffix}")
12
+ if File.exist?("#{config}#{example_suffix}")
13
13
  FileUtils.cp "#{config}#{example_suffix}", local_path
14
14
  info "Copied: #{config}#{example_suffix} to #{local_path}"
15
15
  else
@@ -25,8 +25,8 @@ 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)
29
- if File.exists?(local_path)
28
+ local_path = CapistranoUploadConfig::Helpers.get_config_name(config, fetch(:stage).to_s, fetch(:local_base_dir).to_s)
29
+ if File.exist?(local_path)
30
30
  info "Found: #{local_path}"
31
31
  else
32
32
  warn "Not found: #{local_path}"
@@ -41,9 +41,9 @@ 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
- if File.exists?(local_path)
46
+ if File.exist?(local_path)
47
47
  info "Uploading config #{local_path} as #{server_name}"
48
48
  upload! StringIO.new(IO.read(local_path)), File.join(shared_path, server_name)
49
49
  else
@@ -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.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Coleman
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-17 00:00:00.000000000 Z
11
+ date: 2023-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capistrano
@@ -72,7 +72,7 @@ homepage: https://github.com/rjocoleman/capistrano-upload-config
72
72
  licenses:
73
73
  - MIT
74
74
  metadata: {}
75
- post_install_message:
75
+ post_install_message:
76
76
  rdoc_options: []
77
77
  require_paths:
78
78
  - lib
@@ -87,10 +87,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0'
89
89
  requirements: []
90
- rubyforge_project:
91
- rubygems_version: 2.4.5.1
92
- signing_key:
90
+ rubygems_version: 3.3.7
91
+ signing_key:
93
92
  specification_version: 4
94
93
  summary: Capistrano 3.x tasks to upload shared config that is stored outside of SCM
95
94
  test_files: []
96
- has_rdoc: