Module: Nettle

Extended by:
Verbs
Defined in:
lib/nettle.rb,
lib/nettle/verbs.rb

Defined Under Namespace

Modules: Verbs

Class Method Summary collapse

Methods included from Verbs

delete, get, head, options, patch, post, put, trace

Class Method Details

.make_request(method, uri, options) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/nettle.rb', line 22

def make_request(method, uri, options)
  klass = Net::HTTP.const_get(method.to_s.downcase.capitalize)
  request = klass.new(uri.request_uri)
  request
rescue NameError
  raise NameError, "Unknown request method #{method}"
end

.request(method, url, options = {}) {|request| ... } ⇒ Object

Yields:



12
13
14
15
16
17
18
19
20
# File 'lib/nettle.rb', line 12

def request(method, url, options = {})
  uri = URI.parse(url)
  http = Net::HTTP.new(uri.host, uri.port)
  request = make_request(method, uri, options)
  yield request if block_given?
  response = http.request(request)
  Array(options[:response_extensions]).each { |ext| response.extend(ext) }
  response
end