Ruby

Net::HTTPのコードを簡潔に書いてみた

More than 3 years have passed since last update.

RubyのNET::HTTPを使ったコードが汚い!!
リファクタリングしたい!!
ってなったので、よく使う部分を以下に。

コード

require 'net/http'

uri = URI.parse 'http://example.com'

params = Hash.new
params.store("hoge","1")
params.store("fuga","2")

if method == :get
  uri.query = URI.encode_www_form(params)
  req = Net::HTTP::Get.new uri
end

if method == :post
  req = Net::HTTP::Post.new uri.path
  req.set_form_data(params)
end

res = Net::HTTP.start(uri.host, uri.port) {|http| http.request req }

参考

Get

Class: Net::HTTP (Ruby 2.1.5)
module URI

Post

Net::HTTP Cheat Sheet

おまけ

って記事を書いたあとに友人から教えてもらいました。
Net::HTTPを無理に使う必要のない方は以下を使ったほうが幸せになれるかも。
rest-client/rest-client