def user_agent
@user_agent ||= begin
ruby = Bundler.ruby_version
agent = "bundler/#{Bundler::VERSION}"
agent << " rubygems/#{Gem::VERSION}"
agent << " ruby/#{ruby.version}"
agent << " (#{ruby.host})"
agent << " command/#{ARGV.first}"
if ruby.engine != "ruby"
engine_version = begin
ruby.engine_version
rescue
"???"
end
agent << " #{ruby.engine}/#{engine_version}"
end
agent << " options/#{Bundler.settings.all.join(",")}"
agent << " ci/#{cis.join(",")}" if cis.any?
agent << " " << SecureRandom.hex(8)
extra_ua = Bundler.settings[:user_agent]
agent << " " << extra_ua if extra_ua
agent
end
end