ridgepole_rake 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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