rumination 0.11.5 → 0.12.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
  SHA1:
3
- metadata.gz: d5a017151fbe1f808354b7c926ba9ab6b1b2e5e7
4
- data.tar.gz: 733f72c88adc92b382b19b2cb07b6df49a80c8b0
3
+ metadata.gz: 4db8607f09b3ee1aad402996f7f7d5b3e593fdf4
4
+ data.tar.gz: f10beea4befeb1b90ce0d5e52e57ff575a9cccdf
5
5
  SHA512:
6
- metadata.gz: 42453f3eea7838e24553af0415086ac13925c341e9c64bb3839630d9eaee15dad976b707bc81f507770928f1c9354d3d0b44db481518e8dc400dd897a6669b62
7
- data.tar.gz: 9426aaa257878f86feec7cf70b243991b64b3f27b98295d2da4a4bb0ffca231f01b8d0fbde58b2a36f74bc902b86bf87fe71416871b45a17bc40623cb78bf49a
6
+ metadata.gz: d0465ac699012527ca0cb92e0e6165cb63353d81c74281f7b42136095154379d50ebe6c5697ce00fbd72dfbe5e182cbe827169bed62d697c5b31f8f1606fa4ee
7
+ data.tar.gz: f497f85837a48dee0c8dd20c797bb8152f959d194c60a7f0b5a53bc6e7a63c428d1de08d04c2c0f0133f142f3863d55a4753e35f5bef9458887614685c61b825
@@ -1,5 +1,6 @@
1
1
  require "active_support/configurable"
2
2
  require_relative "deploy/class_methods"
3
+ require "dotenv/parser"
3
4
 
4
5
  module Rumination
5
6
  module Deploy
@@ -10,5 +11,20 @@ module Rumination
10
11
  BootstrapError = Class.new(DeployError)
11
12
  BootstrappedAlready = Class.new(BootstrapError)
12
13
  DatabaseInitError = Class.new(BootstrapError)
14
+
15
+ def docker_env
16
+ env = {}
17
+ if config.docker_machine
18
+ dm_env_str = `docker-machine env #{config.docker_machine}`
19
+ env = env.merge(Dotenv::Parser.call(dm_env_str))
20
+ end
21
+ env["COMPOSE_FILE"] = config.compose_file if config.compose_file
22
+ env["VIRTUAL_HOST"] = config.virtual_host
23
+ if config.letsencrypt_email.present?
24
+ env["LETSENCRYPT_HOST"] = config.virtual_host
25
+ env["LETSENCRYPT_EMAIL"] = config.letsencrypt_email
26
+ end
27
+ env
28
+ end
13
29
  end
14
30
  end
@@ -1,5 +1,39 @@
1
- task :deploy, [:target] do |t, args|
2
- require "rumination/deploy"
3
- args.with_defaults target: :development
4
- Rumination::Deploy.app(target: args.target)
1
+ task :deploy, [:target] => "deploy:default"
2
+
3
+ namespace :deploy do
4
+ task :env, [:target] => :load_target_config do |t, args|
5
+ Rumination::Deploy.docker_env.each do |var, val|
6
+ puts %Q[export #{var}="#{val}"]
7
+ end
8
+ end
9
+
10
+ task :default, [:target] => :setup_docker_env do |t, args|
11
+ end
12
+
13
+ task :bootstrap, [:target] => :setup_docker_env do |t, args|
14
+ end
15
+
16
+ task :setup_docker_env, [:target] => :load_target_config do |t, args|
17
+ ENV.update Rumination::Deploy.docker_env
18
+ end
19
+
20
+ task :load_target_config, [:target] do |t, args|
21
+ args.with_defaults target: :development
22
+ begin
23
+ load target_config_path
24
+ rescue LoadError => e
25
+ raise RuntimeError, e.message
26
+ end
27
+ end
28
+
29
+ namespace :bootstrap do
30
+ task :undo, [:target] => %w[confirm_undo] do |t, args|
31
+ end
32
+
33
+ task :confirm_undo do |t, args|
34
+ require "highline/import"
35
+ question = "Do you really want to undo the bootstrap (database will be dropped)?"
36
+ abort("Bootstrap undo canceled, you didn't mean it") unless agree(question)
37
+ end
38
+ end
5
39
  end
@@ -1,3 +1,3 @@
1
1
  module Rumination
2
- VERSION = "0.11.5"
2
+ VERSION = "0.12.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rumination
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.5
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artem Baguinski
@@ -157,8 +157,6 @@ files:
157
157
  - lib/rumination/tasks/db/dump.rake
158
158
  - lib/rumination/tasks/db/setup.rake
159
159
  - lib/rumination/tasks/deploy.rake
160
- - lib/rumination/tasks/deploy/bootstrap.rake
161
- - lib/rumination/tasks/deploy/env.rake
162
160
  - lib/rumination/tasks/deploy/inside.rake
163
161
  - lib/rumination/version.rb
164
162
  - rumination.gemspec
@@ -1,27 +0,0 @@
1
- namespace :deploy do
2
- task :bootstrap, [:target] do |t, args|
3
- require "rumination/deploy"
4
- args.with_defaults target: :development
5
- begin
6
- Rumination::Deploy.bootstrap(target: args.target)
7
- rescue Rumination::Deploy::BootstrappedAlready
8
- abort "'#{args.target}' has already been bootstrapped"
9
- end
10
- end
11
-
12
- namespace :bootstrap do
13
- task :undo, [:target] => %w[confirm_undo start_undo] do |t, args|
14
- require "rumination/deploy"
15
- args.with_defaults target: :development
16
- Rumination::Deploy.bootstrap_undo(target: args.target)
17
- end
18
-
19
- task :confirm_undo do |t, args|
20
- require "highline/import"
21
- question = "Do you really want to undo the bootstrap (database will be dropped)?"
22
- abort("Bootstrap undo canceled, you didn't mean it") unless agree(question)
23
- end
24
-
25
- task :start_undo, [:target]
26
- end
27
- end
@@ -1,9 +0,0 @@
1
- namespace :deploy do
2
- task :env, [:target] do |t, args|
3
- require "rumination/deploy"
4
- args.with_defaults target: :development
5
- Rumination::Deploy.env(target: args.target).each do |var, val|
6
- puts %Q[export #{var}="#{val}"]
7
- end
8
- end
9
- end