module Curl

expose shortcut methods

Public Class Methods

delete(url, params={}, &block) click to toggle source
# File lib/curl.rb, line 28
def self.delete(url, params={}, &block)
  http :DELETE, url, postalize(params), nil, &block
end
get(url, params={}, &block) click to toggle source
# File lib/curl.rb, line 16
def self.get(url, params={}, &block)
  http :GET, urlalize(url, params), nil, nil, &block
end
head(url, params={}, &block) click to toggle source
# File lib/curl.rb, line 36
def self.head(url, params={}, &block)
  http :OPTIONS, urlalize(url, params), nil, nil, &block
end
http(verb, url, post_body=nil, put_data=nil) { |handle| ... } click to toggle source
# 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
options(url, params={}, &block) click to toggle source
# File lib/curl.rb, line 40
def self.options(url, params={}, &block)
  http :OPTIONS, urlalize(url, params), nil, nil, &block
end
patch(url, params={}, &block) click to toggle source
# File lib/curl.rb, line 32
def self.patch(url, params={}, &block)
  http :PATCH, url, postalize(params), nil, &block
end
post(url, params={}, &block) click to toggle source
# File lib/curl.rb, line 20
def self.post(url, params={}, &block)
  http :POST, url, postalize(params), nil, &block
end
postalize(params={}) click to toggle source
# 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
put(url, params={}, &block) click to toggle source
# File lib/curl.rb, line 24
def self.put(url, params={}, &block)
  http :PUT, url, nil, postalize(params), &block
end
urlalize(url, params={}) click to toggle source
# 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