Class: PollEverywhere::HTTP::RequestBuilder
- Inherits:
-
Object
- Object
- PollEverywhere::HTTP::RequestBuilder
- Defined in:
- lib/polleverywhere/http/request_builder.rb
Overview
DSL for building requests within our application that build a Request object and send them to an adapter to fulfill the request.
Instance Attribute Summary collapse
-
#adapter ⇒ Object
Returns the value of attribute adapter.
-
#base_url ⇒ Object
Returns the value of attribute base_url.
-
#body ⇒ Object
Returns the value of attribute body.
-
#format ⇒ Object
Returns the value of attribute format.
-
#headers ⇒ Object
Returns the value of attribute headers.
-
#method ⇒ Object
Returns the value of attribute method.
-
#params ⇒ Object
Returns the value of attribute params.
-
#response(&block) ⇒ Object
Generate a Request object, send it to an adapter, and have it fullfill the response by yielding a Response object.
-
#url ⇒ Object
Returns the value of attribute url.
Instance Method Summary collapse
-
#as(format) ⇒ Object
Specify the mime-type/format of the request.
- #delete(params = {}) ⇒ Object
- #get(params = {}) ⇒ Object
-
#initialize(adapter = PollEverywhere.config.http_adapter, base_url = PollEverywhere.config.url) {|_self| ... } ⇒ RequestBuilder
constructor
A new instance of RequestBuilder.
- #post(body = nil) ⇒ Object
- #put(body = nil) ⇒ Object
- #request ⇒ Object
-
#to(url) ⇒ Object
(also: #from)
Specify the URL of the request.
Constructor Details
#initialize(adapter = PollEverywhere.config.http_adapter, base_url = PollEverywhere.config.url) {|_self| ... } ⇒ RequestBuilder
Returns a new instance of RequestBuilder.
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/polleverywhere/http/request_builder.rb', line 8 def initialize(adapter=PollEverywhere.config.http_adapter, base_url=PollEverywhere.config.url) self.adapter = adapter self.base_url = base_url self.headers = { 'Content-Type' => 'application/json', 'Accept' => 'application/json', 'Authorization' => PollEverywhere.config.http_basic_credentials } yield self if block_given? end |
Instance Attribute Details
#adapter ⇒ Object
Returns the value of attribute adapter.
6 7 8 |
# File 'lib/polleverywhere/http/request_builder.rb', line 6 def adapter @adapter end |
#base_url ⇒ Object
Returns the value of attribute base_url.
6 7 8 |
# File 'lib/polleverywhere/http/request_builder.rb', line 6 def base_url @base_url end |
#body ⇒ Object
Returns the value of attribute body.
6 7 8 |
# File 'lib/polleverywhere/http/request_builder.rb', line 6 def body @body end |
#format ⇒ Object
Returns the value of attribute format.
6 7 8 |
# File 'lib/polleverywhere/http/request_builder.rb', line 6 def format @format end |
#headers ⇒ Object
Returns the value of attribute headers.
6 7 8 |
# File 'lib/polleverywhere/http/request_builder.rb', line 6 def headers @headers end |
#method ⇒ Object
Returns the value of attribute method.
6 7 8 |
# File 'lib/polleverywhere/http/request_builder.rb', line 6 def method @method end |
#params ⇒ Object
Returns the value of attribute params.
6 7 8 |
# File 'lib/polleverywhere/http/request_builder.rb', line 6 def params @params end |
#response(&block) ⇒ Object
Generate a Request object, send it to an adapter, and have it fullfill the response by yielding a Response object.
59 60 61 |
# File 'lib/polleverywhere/http/request_builder.rb', line 59 def response @response end |
#url ⇒ Object
Returns the value of attribute url.
6 7 8 |
# File 'lib/polleverywhere/http/request_builder.rb', line 6 def url @url end |
Instance Method Details
#as(format) ⇒ Object
Specify the mime-type/format of the request.
48 49 50 51 |
# File 'lib/polleverywhere/http/request_builder.rb', line 48 def as(format) self.format = format self end |
#delete(params = {}) ⇒ Object
35 36 37 38 |
# File 'lib/polleverywhere/http/request_builder.rb', line 35 def delete(params={}) self.method, self.params = :delete, params self end |
#get(params = {}) ⇒ Object
30 31 32 33 |
# File 'lib/polleverywhere/http/request_builder.rb', line 30 def get(params={}) self.method, self.params = :get, params self end |
#post(body = nil) ⇒ Object
25 26 27 28 |
# File 'lib/polleverywhere/http/request_builder.rb', line 25 def post(body=nil) self.method, self.body = :post, body self end |
#put(body = nil) ⇒ Object
20 21 22 23 |
# File 'lib/polleverywhere/http/request_builder.rb', line 20 def put(body=nil) self.method, self.body = :put, body self end |
#request ⇒ Object
53 54 55 |
# File 'lib/polleverywhere/http/request_builder.rb', line 53 def request Request.new(method, url_for(url), headers, body) end |
#to(url) ⇒ Object Also known as: from
Specify the URL of the request.
41 42 43 44 |
# File 'lib/polleverywhere/http/request_builder.rb', line 41 def to(url) self.url = url self end |