capistrano-opscomplete 0.6.3 → 1.0.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
2
  SHA256:
3
- metadata.gz: 8ab19048934d110250b8fafc444f686dba2467f8d3dec1a70cfebe206f2fb801
4
- data.tar.gz: 49fd120dc3b325fe7356eb1eb7200030e16bb1077a223b6570b53d1f8a1d2b9b
3
+ metadata.gz: c7bda13c0f33ab7e11818d801b18587bb9cd5754f114b757627296d4cb1fc338
4
+ data.tar.gz: 7587402cf62a88b9b7980ec1567f60552fa6fa8d8f1eb10d811c123175323bb0
5
5
  SHA512:
6
- metadata.gz: 1c287a757274a0961a0038b0f20cc1d145ae96645b063565b85cbe4742cb04c554adf2a4ea5ff5a663d7d4c16e9ee54f929af61f49db156942ab78e14d1ed94b
7
- data.tar.gz: cc172a2a4c4c14f053096e1a94bd4c32b711fbeeb1ac6bcbf1ace135c0afe515b1251b712d47d66f71a3ccf1a8a5c5b94e2d737cafdab712e3497d8738bbe90a
6
+ metadata.gz: 76e8a0d39c56bbc84fa91d4fc52fb1c22106c6afe19f47e0dff2a27fbd81ce0c2cf76cc7d0b2d90b6aa270d71fa9d5de02a076291883bc7bbc2c1c59a1e864cb
7
+ data.tar.gz: a481d59f2a8e9cf719ec0e6120eebf9672c0a765bfe69ef253c262879c0d0d0f5874ad0a3508b7c7e3b93173ec8ae054090b55384f640e82773d86fb5779e2fa
data/CHANGELOG.md CHANGED
@@ -1,3 +1,36 @@
1
+ ## [1.0.0] - 2021-03-16
2
+
3
+ ### Changed
4
+ - Version bump to 1.0 and switch to semantic versioning: There were no breaking changes
5
+ - Remove rbenv dependency for our opscomplete infrastructure
6
+
7
+ ## [0.6.7] - 2021-02-05
8
+
9
+ ### Fixed
10
+ - Fix missing command in opscomplete:nodejs:check
11
+
12
+ ### Changed
13
+ - Improve error message for wrong Node.js version
14
+
15
+ ## [0.6.6] - 2020-12-08
16
+
17
+ ### Fixed
18
+ - Fix the error `undefined method 'after' for main:Object (NoMethodError)` when starting the rails application with capistrano-opscomplete required
19
+
20
+ ## [0.6.5] - 2020-11-20
21
+
22
+ ### Fixed
23
+ - Correct warning message for `opscomplete:ruby:broken_gems_warning`
24
+
25
+ ## [0.6.4] - 2020-11-19
26
+
27
+ ### Added
28
+ - You can now manage the Node.js version which needs to be installed
29
+ - Add two new capistrano tasks (`opscomplete:ruby:broken_gems_warning`, `opscomplete:ruby:reset`) which help to mitigate problems when a deployment fails (described in: [#19](https://github.com/makandra/capistrano-opscomplete/issues/19))
30
+
31
+ ### Fixed
32
+ - Added missing namespace for code example
33
+
1
34
  ## [0.6.3] - 2020-07-23
2
35
 
3
36
  ### Fixed
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- capistrano-opscomplete (0.6.3)
4
+ capistrano-opscomplete (1.0.0)
5
5
  capistrano (>= 3.0, < 4.0.0)
6
6
  rake
7
7
 
data/README.md CHANGED
@@ -36,7 +36,13 @@ An example configuration could look like this:
36
36
  after 'deploy:updating', 'opscomplete:ruby:ensure'
37
37
  ```
38
38
 
39
- and in case you enabled [`Procfile support`](https://makandracards.com/opscomplete/67829-procfile-support) you can use the following tasks:
39
+ If you want to handle the ruby version for rollbacks too, you should add:
40
+
41
+ ```ruby
42
+ after 'deploy:reverting', 'opscomplete:ruby:ensure'
43
+ ```
44
+
45
+ And in case you enabled [`Procfile support`](https://makandracards.com/opscomplete/67829-procfile-support) you can use the following tasks:
40
46
 
41
47
  opscomplete:supervisor:gen_config
42
48
  opscomplete:supervisor:restart_procs
@@ -105,11 +111,11 @@ More specifically this task will:
105
111
  1) The value of `:opscomplete_ruby_version` from your capistrano config. Leave this empty unless you want to override the desired version.
106
112
  2) A file in the `release_path` on the server (e.g. `/var/www/staging.myapp.biz/releases/20180523234205/.ruby-version`)
107
113
  3) A file in the current working directory of your local checkout (e.g. `/home/user/code/myapp/.ruby-version`)
108
- - If the desired version is not installed, it checks if it can be installed using `ruby-build` and installs it.
109
- - Check if `rbenv global` version is set according to application's `.ruby-version` file. Change it if required.
114
+ - If the desired version is not installed, it checks if it can be installed and installs it.
115
+ - Check if the global version is set according to application's `.ruby-version` file. Change it if required.
110
116
  - Install `bundler`. It is tried to determine the version that was used to create the `Gemfile.lock` (`BUNDLED WITH`) if it is present.
111
117
  - Install `geordi` gem if required.
112
- - Run `rbenv rehash` if required.
118
+ - Rehash the shims if required.
113
119
 
114
120
  **Note:** If, for any reason, no `.ruby-version` file can be found in your release or current working directory, you may set the following option in `deploy.rb`:
115
121
 
@@ -151,6 +157,24 @@ There are many hooks available in the [default deploy flow](https://capistranorb
151
157
  after 'deploy:updating', 'opscomplete:ruby:ensure'
152
158
  ```
153
159
 
160
+ ## Managing your nodejs version with `capistrano-opscomplete`
161
+
162
+ You can manage NodeJS also with `capistrano-opscomplete`. It will check the `.nvmrc`, `.node-version` and `.tool-versions` in the release direcotry (in this order) or you can configure it with `:opscomplete_nodejs_version` in your capistrano configuration.
163
+
164
+ Include the gem in your applications Gemfile:
165
+
166
+ ```ruby
167
+ gem 'capistrano-opscomplete'
168
+ ```
169
+
170
+ Now, add some [hooks](#using-capistrano-hooks) in your capistrano configuration (e.g. `deploy.rb`).
171
+ An example configuration could look like this:
172
+
173
+ ```ruby
174
+ # After unpacking your release, before bundling, compiling assets, ...
175
+ after 'deploy:updating', 'opscomplete:nodejs:ensure'
176
+ ```
177
+
154
178
  ## Contributing
155
179
 
156
180
  Bug reports and pull requests are welcome. Don't hesitate to [open a new issue](https://github.com/makandra/capistrano-opscomplete/issues/new).
File without changes
@@ -3,19 +3,7 @@ module Capistrano
3
3
  # A whole capistrano/rake namespace, for grouping our helpers and tasks
4
4
  module Opscomplete
5
5
  def managed_ruby?
6
- test("[ -f #{rbenv_root_path}/.ruby_managed_by_makandra ]")
7
- end
8
-
9
- def rbenv_ruby_build_path
10
- "#{rbenv_root_path}/plugins/ruby-build"
11
- end
12
-
13
- def rbenv_repo_url
14
- 'https://github.com/rbenv/rbenv.git'
15
- end
16
-
17
- def ruby_build_repo_url
18
- 'https://github.com/rbenv/ruby-build.git'
6
+ test(:ruby_update_management_tool, 'managed')
19
7
  end
20
8
 
21
9
  def app_ruby_version
@@ -64,49 +52,65 @@ module Capistrano
64
52
  end
65
53
  end
66
54
 
67
- def rbenv_installable_rubies
68
- rbenv_installable_rubies = capture(:rbenv, :install, '--list-all').split("\n")
69
- rbenv_installable_rubies.map!(&:strip)
70
- rbenv_installable_rubies.delete('Available version:')
71
- rbenv_installable_rubies
55
+ def ruby_installable_versions
56
+ ruby_installable_versions = capture(:ruby_installable_versions).split("\n")
57
+ ruby_installable_versions.map!(&:strip)
58
+ ruby_installable_versions
72
59
  end
73
60
 
74
- def rbenv_root_path
75
- capture(:rbenv, :root)
61
+ def ruby_installed_versions
62
+ ruby_installed_versions = capture(:ruby_installed_versions).split("\n")
63
+ ruby_installed_versions.map!(&:strip)
64
+ warn('Could not look up installed versions. This is probably the first ruby install.') if ruby_installed_versions.empty?
65
+ ruby_installed_versions
76
66
  end
77
67
 
78
- def rbenv_installed_rubies
79
- if test("[ -d #{rbenv_root_path}/versions ]")
80
- rbenv_installed_rubies = capture(:ls, '-1', "#{rbenv_root_path}/versions").split("\n")
81
- rbenv_installed_rubies.map!(&:strip)
68
+ def gem_installed?(name, version = nil)
69
+ if version
70
+ test(:ruby_installed_gem, name, '--version', "'#{version}'")
82
71
  else
83
- warn("Could not look up installed versions from missing '.rbenv/versions' directory. This is probably the first ruby install for this rbenv.")
84
- []
72
+ test(:ruby_installed_gem, name)
85
73
  end
86
74
  end
87
75
 
88
- def rbenv_exec(*args)
89
- execute(:rbenv, :exec, *args)
90
- end
91
-
92
- def gem_installed?(name, version = nil)
76
+ def gem_install(name, version = nil, force = false)
93
77
  if version
94
- test(:rbenv, :exec, "gem query --quiet --installed --version '#{version}' --name-matches '^#{name}$'")
78
+ execute(:ruby_install_gem, name, '--version', "'#{version}'", force ? '--force' : '')
95
79
  else
96
- test(:rbenv, :exec, :gem, :query, "--quiet --installed --name-matches ^#{name}$")
80
+ execute(:ruby_install_gem, name)
97
81
  end
98
82
  end
99
83
 
100
- def gem_install(name, version = nil, force = false)
101
- if version
102
- rbenv_exec('gem install', name, '--no-document', '--version', "'#{version}'", force ? '--force' : '')
84
+ def managed_nodejs?
85
+ test("[ -f ${HOME}/.nodejs_managed_by_makandra ]")
86
+ end
87
+
88
+ def app_nodejs_version
89
+
90
+ # 1) Get version from capistrano configuration (highest precedence, 'override')
91
+ if fetch(:opscomplete_nodejs_version)
92
+ debug("Using version from :opscomplete_nodejs_version setting: #{fetch(:opscomplete_nodejs_version)}.")
93
+ fetch(:opscomplete_nodejs_version)
94
+
95
+ # 2) Get version from version file in release dir (after deploy:updating, before deploy:updated)
96
+ elsif capture(:nodejs_get_version, release_path)
97
+ debug("Using version from server's release_dir/.nvmrc, .node-version or .tool-versions file: #{capture(:nodejs_get_version, release_path)}")
98
+ capture(:nodejs_get_version, release_path)
99
+
103
100
  else
104
- rbenv_exec('gem install', name, '--no-document')
101
+ raise Capistrano::ValidationError, 'Could not find application\'s Node.js version. Consider setting opscomplete_ruby_version.'
105
102
  end
106
103
  end
107
104
 
108
- def rubygems_install(version)
109
- rbenv_exec("gem update --no-document --system '#{version}'")
105
+ def nodejs_installable_versions
106
+ nodejs_installable_versions = capture(:nodejs_installable_versions).split("\n")
107
+ nodejs_installable_versions.map!(&:strip)
108
+ nodejs_installable_versions
109
+ end
110
+
111
+ def nodejs_installed_versions
112
+ nodejs_installed_versions = capture(:nodejs_installed_versions).split("\n")
113
+ nodejs_installed_versions.map!(&:strip)
110
114
  end
111
115
  end
112
116
  end
@@ -4,4 +4,6 @@ require 'capistrano/opscomplete/version'
4
4
  require 'rake'
5
5
 
6
6
  load File.expand_path('opscomplete/ruby.rake', __dir__)
7
+ load File.expand_path('opscomplete/nodejs.rake', __dir__)
7
8
  load File.expand_path('opscomplete/supervisor.rake', __dir__)
9
+ load File.expand_path('../opscomplete/hooks.rb', __FILE__)
@@ -0,0 +1 @@
1
+ after 'deploy:failed', 'opscomplete:ruby:broken_gems_warning'
@@ -0,0 +1,55 @@
1
+ # vim: filetype=ruby
2
+ require 'capistrano/dsl/opscomplete'
3
+
4
+ namespace :opscomplete do
5
+ include Capistrano::DSL::Opscomplete
6
+ # desc 'Validate opscomplete specific configuration'
7
+ task :validate do
8
+ invoke('opscomplete:nodejs:check')
9
+ end
10
+
11
+ namespace :nodejs do
12
+ desc 'Check if nodejs version is set according to application\'s .node-version or .nvmrc (in this order).'
13
+ task :check do
14
+ on roles fetch(:nodejs_roles, :all) do |host|
15
+ warn("#{host}: Managed Node.js environment! Won't do any changes to nodejs version.") if managed_nodejs?
16
+ unless capture(:nodejs_get_version, release_path) == app_nodejs_version
17
+ raise Capistrano::ValidationError,
18
+ "#{host}: Node.js version is not set according to application\'s .node-version or .nvmrc file. Use cap opscomplete:nodejs:ensure."
19
+ end
20
+ info("#{host}: Node.js #{app_nodejs_version} is installed.")
21
+ end
22
+ end
23
+
24
+ desc 'Update Node.js version management tool'
25
+ task :update_nodejs_build do
26
+ on roles fetch(:nodejs_roles, :all) do
27
+ execute :nodejs_update_management_tool
28
+ end
29
+ end
30
+
31
+ desc 'Install and configure NodeJS according to applications .nvmrc, .node-version or .tool-versions.'
32
+ task :ensure do
33
+ invoke('opscomplete:nodejs:update_nodejs_build')
34
+ on roles fetch(:nodejs_roles, :all) do |host|
35
+ if managed_nodejs?
36
+ raise Capistrano::ValidationError, "#{host}: Managed Node.js environment! Won't do any changes to Node.js version."
37
+ end
38
+ if nodejs_installed_versions.include?(app_nodejs_version)
39
+ info("#{host}: Node.js #{app_nodejs_version} is installed.")
40
+ elsif nodejs_installable_versions.include?(app_nodejs_version)
41
+ info("#{host}: Configured Node.js version is not installed, but available for installation.")
42
+ with tmpdir: fetch(:tmp_dir) do
43
+ execute(:nodejs_install_version, "'#{app_nodejs_version}'")
44
+ end
45
+ else
46
+ info("#{host}: Check if the configured Node.js version is part of the installable versions")
47
+ execute :nodejs_installable_versions
48
+ raise Capistrano::ValidationError,
49
+ "#{host}: Configured Node.js version is neither installed nor installable."
50
+ end
51
+ execute(:nodejs_set_version, "'#{app_nodejs_version}'")
52
+ end
53
+ end
54
+ end
55
+ end
@@ -9,18 +9,11 @@ namespace :opscomplete do
9
9
  end
10
10
 
11
11
  namespace :ruby do
12
- # desc 'Rehash rbenv shims (run this after installing executables).'
13
- task :rehash do
14
- on roles fetch(:rbenv_roles, :all) do
15
- execute(:rbenv, :rehash)
16
- end
17
- end
18
-
19
- desc 'Check if rbenv global Ruby version is set according to application\'s .ruby-version.'
12
+ desc 'Check if Ruby version is set according to application\'s .ruby-version.'
20
13
  task :check do
21
14
  on roles fetch(:rbenv_roles, :all) do |host|
22
15
  warn("#{host}: Managed Ruby environment! Won't do any changes to ruby version.") if managed_ruby?
23
- unless capture(:rbenv, :global) == app_ruby_version
16
+ unless capture(:ruby_get_current_version) == app_ruby_version
24
17
  raise Capistrano::ValidationError,
25
18
  "#{host}: Ruby version is not set according to application\'s .ruby-version file. Use cap opscomplete:ruby:ensure."
26
19
  end
@@ -28,61 +21,58 @@ namespace :opscomplete do
28
21
  end
29
22
  end
30
23
 
31
- # desc 'Install rbenv plugin ruby-build'
24
+ desc 'Install Ruby version management tool dependencies'
32
25
  task :install_ruby_build do
33
26
  on roles fetch(:rbenv_roles, :all) do
34
- next if test "[ -d #{rbenv_ruby_build_path} ]"
35
- execute :git, :clone, ruby_build_repo_url, rbenv_ruby_build_path
27
+ execute(:ruby_update_management_tool, :install_build)
36
28
  end
37
29
  end
38
30
 
39
- # desc 'Update rbenv plugin ruby-build'
31
+ desc 'Update Ruby version management tool'
40
32
  task :update_ruby_build do
41
33
  on roles fetch(:rbenv_roles, :all) do
42
- if test "[ -d #{rbenv_ruby_build_path} ]"
43
- within rbenv_ruby_build_path do
44
- execute :git, :pull, '-q'
45
- end
46
- else
47
- warn('Could not find ruby-build.')
48
- end
34
+ execute(:ruby_update_management_tool, :update_build)
49
35
  end
50
36
  end
51
37
 
52
- # desc 'Install bundler gem'
38
+ desc 'Rehash shims (run this after installing executables).'
39
+ task :rehash do
40
+ on roles fetch(:rbenv_roles, :all) do
41
+ execute(:ruby_update_management_tool, :rehash)
42
+ end
43
+ end
44
+
45
+ desc 'Install bundler gem'
53
46
  task :install_bundler do
54
47
  on roles fetch(:rbenv_roles, :all) do
55
48
  # manually specified version will take precedence
56
49
  specific_bundler_version = fetch(:bundler_version, app_gemfile_bundled_with_version)
57
-
58
50
  if specific_bundler_version
59
51
  # We have to set force = true to overwrite the binary
60
52
  gem_install('bundler', specific_bundler_version, true) unless gem_installed?('bundler', specific_bundler_version)
61
53
  else
62
54
  gem_install('bundler') unless gem_installed?('bundler')
63
55
  end
64
- set :rbenv_needs_rehash, true
65
56
  end
66
57
  end
67
58
 
68
- # desc 'Install geordi gem'
59
+ desc 'Install geordi gem'
69
60
  task :install_geordi do
70
61
  on roles fetch(:rbenv_roles, :all) do
71
62
  gem_install('geordi') unless gem_installed?('geordi')
72
- set :rbenv_needs_rehash, true
73
63
  end
74
64
  end
75
65
 
66
+ desc 'Install RubyGems'
76
67
  task :install_rubygems do
77
68
  on roles fetch(:rbenv_roles, :all) do
78
- # if no rubygems_version was set, we use and don't check the rubygems version installed by rbenv
69
+ # if no rubygems_version was set, we use and don't check the installed rubygems version
79
70
  if fetch(:rubygems_version, false)
80
- current_rubygems_version = capture(:rbenv, :exec, :gem, '--version').chomp
71
+ current_rubygems_version = capture(:ruby_get_current_version, :rubygems).chomp
81
72
  info("Ensuring requested RubyGems version #{fetch(:rubygems_version)}")
82
73
  next if current_rubygems_version == fetch(:rubygems_version)
83
74
  info("Previously installed RubyGems version was #{current_rubygems_version}")
84
- rbenv_exec(:gem, :update, '--no-document', '--system', "'#{fetch(:rubygems_version)}'")
85
- set :rbenv_needs_rehash, true
75
+ execute(:ruby_install_version, :rubygems, "'#{fetch(:rubygems_version)}'")
86
76
  end
87
77
  end
88
78
  end
@@ -94,24 +84,63 @@ namespace :opscomplete do
94
84
  if managed_ruby?
95
85
  raise Capistrano::ValidationError, "#{host}: Managed Ruby environment! Won't do any changes to Ruby version."
96
86
  end
97
- if rbenv_installed_rubies.include?(app_ruby_version)
87
+ if ruby_installed_versions.include?(app_ruby_version)
98
88
  info("#{host}: Ruby #{app_ruby_version} is installed.")
99
- elsif rbenv_installable_rubies.include?(app_ruby_version)
89
+ elsif ruby_installable_versions.include?(app_ruby_version)
100
90
  info("#{host}: Configured Ruby version is not installed, but available for installation.")
101
91
  with tmpdir: fetch(:tmp_dir) do
102
- execute(:rbenv, :install, "'#{app_ruby_version}'")
92
+ execute(:ruby_install_version, "'#{app_ruby_version}'")
103
93
  end
104
- set :rbenv_needs_rehash, true
105
94
  else
106
95
  raise Capistrano::ValidationError,
107
- "#{host}: Configured Ruby version is neither installed nor installable using ruby-install."
96
+ "#{host}: Configured Ruby version is neither installed nor installable."
97
+ end
98
+ unless capture(:ruby_get_current_version) == app_ruby_version
99
+ set :ruby_modified, true
100
+ execute(:ruby_set_version, "'#{app_ruby_version}'")
108
101
  end
109
- execute(:rbenv, :global, "'#{app_ruby_version}'") unless capture(:rbenv, :global) == app_ruby_version
110
102
  end
111
103
  invoke('opscomplete:ruby:install_rubygems')
112
104
  invoke('opscomplete:ruby:install_bundler')
113
105
  invoke('opscomplete:ruby:install_geordi')
114
- invoke('opscomplete:ruby:rehash') if fetch(:rbenv_needs_rehash, false)
106
+ invoke('opscomplete:ruby:rehash')
107
+ end
108
+
109
+ desc 'resets the global ruby version and gems to Gemfile and .ruby-version in current_path.'
110
+ task :reset do
111
+ on roles fetch(:rbenv_roles, :all) do |host|
112
+ within current_path do
113
+ current_ruby_version_file_path = current_path.join('.ruby-version').to_s
114
+ if test("[ -f #{current_ruby_version_file_path} ]")
115
+ execute(:rbenv, :global, capture(:cat, current_ruby_version_file_path))
116
+ else
117
+ raise Capistrano::ValidationError,
118
+ "#{host}: Missing .ruby-version in #{current_path}. Won't set a new global version."
119
+ end
120
+ if test("[ -f '#{current_path}/.bundle/config' ]")
121
+ debug("#{host}: Found #{current_path}/.bundle/config, running bundle pristine.")
122
+ set :bundle_gemfile, -> { current_path.join('Gemfile') }
123
+ execute(:bundle, :pristine)
124
+ else
125
+ raise Capistrano::ValidationError,
126
+ "Unable to find #{current_path}/.bundle/config, won't run bundle pristine."
127
+ end
128
+ end
129
+ end
130
+ end
131
+
132
+ desc 'Set the old ruby version before the change and invoke bundle pristine.'
133
+ task :broken_gems_warning do
134
+ on roles fetch(:rbenv_roles, :all) do |host|
135
+ if fetch(:ruby_modified, false)
136
+ warn('Deploy failed and the ruby version has been modified in this deploy.')
137
+ warn('If this was a minor ruby version upgrade your running application may run into issues with native gem extensions.')
138
+ warn("If your deploy failed before deploy:symlink:release you may run bundle exec 'cap #{fetch(:stage)} opscomplete:ruby:reset'.")
139
+ warn('Please refer https://makandracards.com/makandra/477884-bundler-in-deploy-mode-shares-gems-between-patch-level-ruby-versions')
140
+ else
141
+ debug("#{host}: Ruby not modified in current deploy.")
142
+ end
143
+ end
115
144
  end
116
145
  end
117
146
  end
@@ -36,7 +36,7 @@ namespace :opscomplete do
36
36
  # on roles :cron do
37
37
  # # The TSTP signal tells sidekiq to quiet all workers.
38
38
  # # see: https://github.com/mperham/sidekiq/wiki/Signals#tstp
39
- # invoke('supervisor:signal_procs', 'TSTP', 'sidekiq')
39
+ # invoke('opscomplete:supervisor:signal_procs', 'TSTP', 'sidekiq')
40
40
  # end
41
41
  # end
42
42
  # end
@@ -1,5 +1,5 @@
1
1
  module Capistrano
2
2
  module Opscomplete
3
- VERSION = '0.6.3'.freeze
3
+ VERSION = '1.0.0'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-opscomplete
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Makandra Operations
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-07-23 00:00:00.000000000 Z
11
+ date: 2021-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: makandra-rubocop
@@ -89,8 +89,11 @@ files:
89
89
  - bin/console
90
90
  - bin/setup
91
91
  - capistrano-opscomplete.gemspec
92
+ - lib/capistrano-opscomplete.rb
92
93
  - lib/capistrano/dsl/opscomplete.rb
93
94
  - lib/capistrano/opscomplete.rb
95
+ - lib/capistrano/opscomplete/hooks.rb
96
+ - lib/capistrano/opscomplete/nodejs.rake
94
97
  - lib/capistrano/opscomplete/ruby.rake
95
98
  - lib/capistrano/opscomplete/supervisor.rake
96
99
  - lib/capistrano/opscomplete/version.rb