ridgepole_rake 0.3.0 → 0.4.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: 46c68dd06835e80864a9858a4eaeb2f6cca07b5d
4
- data.tar.gz: a35c39cfb472d1a0d5ec6f85f5a7cdd2b4353b77
3
+ metadata.gz: 9f178fd2e48d399b284b2f236e6f2af0cd9d343d
4
+ data.tar.gz: 2f185be4c5ce194d2ad91da404d616b4f5eb2ba3
5
5
  SHA512:
6
- metadata.gz: 2b77841b3092c2ccf9f80526550d21473d847c91b5a6e91f7b45a8b3f4a1fef3d56ecc2c1f135f3ba4f27f32fcaa5ad14a3f598f916fad341547f04a91c82565
7
- data.tar.gz: 3fd49e476a38f569a41273837c4525c61a6e9047a522e21bae7dd98e4b6076756e7208803040f4a42370aa58f941ff8d95b40338ee21f03e509b219cd82e0f3f
6
+ metadata.gz: dfd3ee108c3360f43bfc2fc614400c1998e093b59c67f53d462ee9c1fe65e95f27b92d2177b1d3ce3d5dbe6f63e8e974798af7630c75c2c980ca0851dd2524ff
7
+ data.tar.gz: 325a2720206e5b5c90cf317d7dbbd973d769889e4b1973767040cbd649b559470376270013b51ece860cc0c840cbec2d0a34ebdafb91e293bfd0d6d7c2c2ea22
@@ -3,19 +3,19 @@ sudo: required
3
3
  language: ruby
4
4
  matrix:
5
5
  include:
6
- - rvm: 2.3.3
6
+ - rvm: 2.3.4
7
7
  gemfile: gemfiles/Gemfile-minimum
8
- - rvm: 2.3.3
8
+ - rvm: 2.3.4
9
9
  gemfile: gemfiles/Gemfile-rails4-2
10
- - rvm: 2.3.3
10
+ - rvm: 2.3.4
11
11
  gemfile: gemfiles/Gemfile-rails5-0
12
- - rvm: 2.3.3
12
+ - rvm: 2.3.4
13
13
  gemfile: gemfiles/Gemfile-all-rails4-2
14
- - rvm: 2.3.3
14
+ - rvm: 2.3.4
15
15
  gemfile: gemfiles/Gemfile-all-rails5-0
16
- - rvm: 2.4.0
16
+ - rvm: 2.4.1
17
17
  gemfile: gemfiles/Gemfile-rails5-0
18
- - rvm: 2.4.0
18
+ - rvm: 2.4.1
19
19
  gemfile: gemfiles/Gemfile-all-rails5-0
20
20
  cache:
21
21
  - bundler
data/README.md CHANGED
@@ -162,6 +162,13 @@ RidgepoleRake.config.bundler
162
162
 
163
163
  If `RidgepoleRake.config.bundler[:use] == true` and `RidgepoleRake.config.bundler[:clean_system] == true`, Ridgepole will be performed using `Bundler.clean_system`.
164
164
 
165
+ ```ruby
166
+ RidgepoleRake.config.bundler[:with_clean_env] = proc { ENV.update('FOO' => 'bar') }
167
+ # => {"use"=>true, "clean_system"=>true, "with_clean_env"=>#<Proc:0x007f8711095818>}
168
+ ```
169
+
170
+ If an object with a method named `call` is set in `RidgepoleRake.config.bundler[:with_clean_env]`, Ridgepole will be performed after calling the method named `call` of that object in `Bundler.with_clean_env` block.
171
+
165
172
  ## License
166
173
 
167
174
  MIT License
@@ -9,19 +9,27 @@ require 'ridgepole_rake/command'
9
9
  require 'ridgepole_rake/tasks'
10
10
  require 'ridgepole_rake/version'
11
11
 
12
- %w(
13
- rails
14
- bundler
15
- brancher
16
- ).each do |extension|
17
- begin
18
- require extension
19
- require "ridgepole_rake/ext/#{extension}"
20
- rescue LoadError
21
- end
12
+ # Rails
13
+ begin
14
+ require 'rails'
15
+ require 'ridgepole_rake/ext/rails'
16
+ require 'ridgepole_rake/railtie'
17
+ rescue LoadError
18
+ end
19
+
20
+ #Bundler
21
+ begin
22
+ require 'bundler'
23
+ require 'ridgepole_rake/ext/bundler'
24
+ rescue LoadError
22
25
  end
23
26
 
24
- require 'ridgepole_rake/railtie' if defined?(Rails)
27
+ # Brancher
28
+ begin
29
+ require 'brancher'
30
+ require 'ridgepole_rake/ext/brancher'
31
+ rescue LoadError
32
+ end
25
33
 
26
34
  module RidgepoleRake
27
35
  extend self
@@ -27,7 +27,7 @@ module RidgepoleRake
27
27
  end
28
28
 
29
29
  def database_configuration
30
- if config.brancher[:use] && (yaml = database_configuration_with_brancher rescue nil)
30
+ if config.brancher[:use] && (yaml = database_configuration_with_brancher)
31
31
  action.eql?(:diff) ? remove_first_line_in_yaml(yaml) : yaml
32
32
  else
33
33
  config.ridgepole.fetch(:config)
@@ -41,6 +41,8 @@ module RidgepoleRake
41
41
  ::Brancher::DatabaseRenameService.rename!(configurations, env)
42
42
 
43
43
  configurations[env].to_yaml
44
+ rescue
45
+ nil
44
46
  end
45
47
 
46
48
  def load_configurations
@@ -8,7 +8,7 @@ module RidgepoleRake
8
8
  # @note override
9
9
  def initialize
10
10
  super
11
- @bundler = { use: true, clean_system: true }.with_indifferent_access
11
+ @bundler = { use: true, clean_system: true, with_clean_env: nil }.with_indifferent_access
12
12
  end
13
13
 
14
14
  def bundler=(hash)
@@ -19,7 +19,12 @@ module RidgepoleRake
19
19
  module Command
20
20
  # @note override
21
21
  def execute
22
- if config.bundler[:use] && config.bundler[:clean_system]
22
+ if use_with_clean_env?
23
+ ::Bundler.with_clean_env do
24
+ config.bundler[:with_clean_env].call
25
+ super
26
+ end
27
+ elsif use_clean_system?
23
28
  ::Bundler.clean_system(*stash)
24
29
  else
25
30
  super
@@ -33,6 +38,14 @@ module RidgepoleRake
33
38
  super
34
39
  stash.unshift(*%w(bundle exec)) if config.bundler[:use]
35
40
  end
41
+
42
+ def use_with_clean_env?
43
+ config.bundler[:use] && config.bundler[:with_clean_env].respond_to?(:call)
44
+ end
45
+
46
+ def use_clean_system?
47
+ config.bundler[:use] && config.bundler[:clean_system]
48
+ end
36
49
  end
37
50
  end
38
51
  end
@@ -1,3 +1,3 @@
1
1
  module RidgepoleRake
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ridgepole_rake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - nalabjp
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-02-13 00:00:00.000000000 Z
11
+ date: 2017-04-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ridgepole