expose shortcut methods
# File lib/curl.rb, line 28 def self.delete(url, params={}, &block) http :DELETE, url, postalize(params), nil, &block end
# File lib/curl.rb, line 16 def self.get(url, params={}, &block) http :GET, urlalize(url, params), nil, nil, &block end
# File lib/curl.rb, line 36 def self.head(url, params={}, &block) http :OPTIONS, urlalize(url, params), nil, nil, &block end
# File lib/curl.rb, line 7 def self.http(verb, url, post_body=nil, put_data=nil, &block) handle = Curl::Easy.new(url) handle.post_body = post_body if post_body handle.put_data = put_data if put_data yield handle if block_given? handle.http(verb) handle end
# File lib/curl.rb, line 40 def self.options(url, params={}, &block) http :OPTIONS, urlalize(url, params), nil, nil, &block end
# File lib/curl.rb, line 32 def self.patch(url, params={}, &block) http :PATCH, url, postalize(params), nil, &block end
# File lib/curl.rb, line 20 def self.post(url, params={}, &block) http :POST, url, postalize(params), nil, &block end
# File lib/curl.rb, line 53 def self.postalize(params={}) params.map {|k,v| "#{URI.escape(k.to_s)}=#{URI.escape(v.to_s)}" }.join('&') end
# File lib/curl.rb, line 24 def self.put(url, params={}, &block) http :PUT, url, nil, postalize(params), &block end
# File lib/curl.rb, line 44 def self.urlalize(url, params={}) query_str = params.map {|k,v| "#{URI.escape(k.to_s)}=#{URI.escape(v.to_s)}" }.join('&') if url.match(%r\?/) "#{url}&#{query_str}" else "#{url}?#{query_str}" end end