Class: Bundler::CLI::Exec
- Inherits:
-
Object
- Object
- Bundler::CLI::Exec
- Defined in:
- lib/bundler/cli/exec.rb
Instance Attribute Summary collapse
-
#args ⇒ Object
readonly
Returns the value of attribute args.
-
#cmd ⇒ Object
readonly
Returns the value of attribute cmd.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
-
#initialize(options, args) ⇒ Exec
constructor
A new instance of Exec.
- #run ⇒ Object
Constructor Details
#initialize(options, args) ⇒ Exec
Returns a new instance of Exec.
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/bundler/cli/exec.rb', line 8 def initialize(, args) @options = @cmd = args.shift @args = args if Bundler.current_ruby.ruby_2? && !Bundler.current_ruby.jruby? @args << { :close_others => !.keep_file_descriptors? } elsif .keep_file_descriptors? Bundler.ui.warn "Ruby version #{RUBY_VERSION} defaults to keeping non-standard file descriptors on Kernel#exec." end end |
Instance Attribute Details
#args ⇒ Object (readonly)
Returns the value of attribute args.
6 7 8 |
# File 'lib/bundler/cli/exec.rb', line 6 def args @args end |
#cmd ⇒ Object (readonly)
Returns the value of attribute cmd.
6 7 8 |
# File 'lib/bundler/cli/exec.rb', line 6 def cmd @cmd end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
6 7 8 |
# File 'lib/bundler/cli/exec.rb', line 6 def @options end |
Instance Method Details
#run ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/bundler/cli/exec.rb', line 20 def run validate_cmd! SharedHelpers.set_bundle_environment if bin_path = Bundler.which(cmd) return kernel_load(bin_path, *args) if ruby_shebang?(bin_path) # First, try to exec directly to something in PATH kernel_exec([bin_path, cmd], *args) else # Just exec using the given command kernel_exec(cmd, *args) end end |