Net::HTTP

I'm looking at the documentation:
http://ruby-doc.org/stdlib-2.0/libdoc/net/http/rdoc/Net/HTTP.html

And I notice two uses of Net::HTTP. Both are using GET requests. But
what's the difference? When to use which?

Net::HTTP.start(uri.host, uri.port) do |http|
  request = Net::HTTP::Get.new uri

  response = http.request request # Net::HTTPResponse object
end

uri = URI(‘http://example.com/index.html’)
res = Net::HTTP.get_response(uri)

I'm not sure there is a definitive answer, but my heuristic is that if
I'm going to do a few things with the connection, I'll use the first
form (send code into the block, as this ensures the connection shuts
down at the end of the block.

If I'm only getting one thing and then carrying on with it with no
need for using that connection again, I'll use the second form.

But again, this is only a heuristic, and not definitive.

I’m looking at the documentation:

http://ruby-doc.org/stdlib-2.0/libdoc/net/http/rdoc/Net/HTTP.html

And I notice two uses of Net::HTTP. Both are using GET requests. But

what’s the difference? When to use which?

It’s the usual tradeoff between convenience and extensiveness. The long form allows you to pipeline requests, set more options on the request (eg headers etc.) but a lot of the time you just want to grab the content from a url and don’t need all the ceremony

Fred