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を無理に使う必要のない方は以下を使ったほうが幸せになれるかも。
rest-client/rest-client