Class: Pokey::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/pokey/request.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(destination, http_method = :post, data = {}) ⇒ Request

Returns a new instance of Request.



8
9
10
# File 'lib/pokey/request.rb', line 8

def initialize(destination, http_method = :post, data = {})
  @destination, @http_method, @data = destination, http_method, data
end

Instance Attribute Details

#dataObject

Returns the value of attribute data.



6
7
8
# File 'lib/pokey/request.rb', line 6

def data
  @data
end

#destinationObject

Returns the value of attribute destination.



6
7
8
# File 'lib/pokey/request.rb', line 6

def destination
  @destination
end

#http_methodObject

Returns the value of attribute http_method.



6
7
8
# File 'lib/pokey/request.rb', line 6

def http_method
  @http_method
end

Class Method Details

.make!(destination, http_method, data) ⇒ Object



38
39
40
41
42
# File 'lib/pokey/request.rb', line 38

def self.make!(destination, http_method, data)
  request = Pokey::Request.new(destination, http_method, data)
  request.make!
  request
end

Instance Method Details

#make!Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/pokey/request.rb', line 16

def make!
  Net::HTTP.start(uri.host, uri.port) do |http|
    request = raw_request

    if request.is_a?(Net::HTTP::Post)
      request.set_form_data(@data)
    end

    response = http.request(request)
  end 
end

#raw_requestObject



12
13
14
# File 'lib/pokey/request.rb', line 12

def raw_request
  http_object
end

#uriObject



28
29
30
31
32
33
34
35
36
# File 'lib/pokey/request.rb', line 28

def uri
  raw_uri = URI.parse(@destination)
  
  if @http_method == :get
    raw_uri.query = URI.encode_www_form(@data)
  end

  raw_uri
end