Class: Bundler::CLI::Config
- Inherits:
-
Object
- Object
- Bundler::CLI::Config
- Defined in:
- lib/bundler/cli/config.rb
Instance Attribute Summary collapse
-
#args ⇒ Object
Returns the value of attribute args.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#thor ⇒ Object
readonly
Returns the value of attribute thor.
Instance Method Summary collapse
-
#initialize(options, args, thor) ⇒ Config
constructor
A new instance of Config.
- #run ⇒ Object
Constructor Details
#initialize(options, args, thor) ⇒ Config
Returns a new instance of Config.
6 7 8 9 10 |
# File 'lib/bundler/cli/config.rb', line 6 def initialize(, args, thor) @options = @args = args @thor = thor end |
Instance Attribute Details
#args ⇒ Object
Returns the value of attribute args.
4 5 6 |
# File 'lib/bundler/cli/config.rb', line 4 def args @args end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
3 4 5 |
# File 'lib/bundler/cli/config.rb', line 3 def @options end |
#thor ⇒ Object (readonly)
Returns the value of attribute thor.
3 4 5 |
# File 'lib/bundler/cli/config.rb', line 3 def thor @thor end |
Instance Method Details
#run ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/bundler/cli/config.rb', line 12 def run peek = args.shift if peek && peek =~ /^\-\-/ name, scope = args.shift, $' else name, scope = peek, "global" end unless name Bundler.ui.confirm "Settings are listed in order of priority. The top value will be used.\n" Bundler.settings.all.each do |setting| Bundler.ui.confirm "#{setting}" thor.with_padding do Bundler.settings.pretty_values_for(setting).each do |line| Bundler.ui.info line end end Bundler.ui.confirm "" end return end case scope when "delete" Bundler.settings.set_local(name, nil) Bundler.settings.set_global(name, nil) when "local", "global" if args.empty? Bundler.ui.confirm "Settings for `#{name}` in order of priority. The top value will be used" thor.with_padding do Bundler.settings.pretty_values_for(name).each { |line| Bundler.ui.info line } end return end new_value = args.join(" ") locations = Bundler.settings.locations(name) if scope == "global" if locations[:local] Bundler.ui.info "Your application has set #{name} to #{locations[:local].inspect}. " \ "This will override the global value you are currently setting" end if locations[:env] Bundler.ui.info "You have a bundler environment variable for #{name} set to " \ "#{locations[:env].inspect}. This will take precedence over the global value you are setting" end if locations[:global] && locations[:global] != new_value Bundler.ui.info "You are replacing the current global value of #{name}, which is currently " \ "#{locations[:global].inspect}" end end if scope == "local" && locations[:local] != new_value Bundler.ui.info "You are replacing the current local value of #{name}, which is currently " \ "#{locations[:local].inspect}" end if name.match(/\Alocal\./) pathname = Pathname.new(args.join(" ")) new_value = pathname..to_s if pathname.directory? end Bundler.settings.send("set_#{scope}", name, new_value) else Bundler.ui.error "Invalid scope --#{scope} given. Please use --local or --global." exit 1 end end |