diff options
Diffstat (limited to 'lib/bundler/feature_flag.rb')
-rw-r--r-- | lib/bundler/feature_flag.rb | 11 |
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 |