Sha256: b2be86576414e38ea9b44c62023d2c06fb15f825cdbe74b593cae98c53a10e79
Contents?: true
Size: 831 Bytes
Versions: 1
Compression:
Stored size: 831 Bytes
Contents
module WebClient class Base include Net attr_reader :http def initialize(host, port=nil) @http = HTTP.new(host, port) end def get(path, data={}, &block) request(HTTP::Get, path, data, &block) end def post(path, data, &block) request(HTTP::Post, path, data, &block) end def put(path, data, &block) request(HTTP::Put, path, data, &block) end def delete(path, data={}, &block) request(HTTP::Delete, path, data, &block) end private def request(method_class, path, data=nil) request = method_class.new(path) request.set_form_data(data) if data.is_a? Hash request.body = data if data.is_a? String yield(request, http) if block_given? http.request(request) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
web_client-0.0.1 | lib/web_client/base.rb |