summaryrefslogtreecommitdiff
path: root/lib/bundler/feature_flag.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bundler/feature_flag.rb')
-rw-r--r--lib/bundler/feature_flag.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/bundler/feature_flag.rb b/lib/bundler/feature_flag.rb
index 01739ec4aa..0e4a0e1217 100644
--- a/lib/bundler/feature_flag.rb
+++ b/lib/bundler/feature_flag.rb
@@ -25,6 +25,15 @@ module Bundler
end
private_class_method :settings_method
+ def self.env_flag(name, &default)
+ define_method(:"#{name}?") do
+ value = ENV["BUNDLE_#{name.to_s.upcase}"]
+ value = instance_eval(&default) if value.nil?
+ value
+ end
+ end
+ private_class_method :env_flag
+
(1..10).each {|v| define_method("bundler_#{v}_mode?") { major_version >= v } }
settings_flag(:allow_bundler_dependency_conflicts) { bundler_3_mode? }
@@ -51,6 +60,8 @@ module Bundler
settings_option(:default_cli_command) { bundler_3_mode? ? :cli_help : :install }
+ env_flag(:config_relative_to_cwd) { bundler_3_mode? }
+
def initialize(bundler_version)
@bundler_version = Gem::Version.create(bundler_version)
end