Class: GPDRequest

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

Overview

file: gpd-request.rb

Instance Method Summary collapse

Constructor Details

#initialize(user, pass, headers = {}) ⇒ GPDRequest

Returns a new instance of GPDRequest.



9
10
11
12
13
14
# File 'lib/gpd-request.rb', line 9

def initialize(user, pass, headers={})
  @headers = {
    "User-Agent" => "Ruby-GPDRequest"
  }.merge headers
  @username, @password = user, pass
end

Instance Method Details

#array_delete(a, form_data = {}) ⇒ Object



50
51
52
53
54
55
56
57
58
# File 'lib/gpd-request.rb', line 50

def array_delete(a, form_data={})
  a.map do  |uri|
    request(uri) do |url| 
      req = Net::HTTP::Delete.new(url.path, @headers)
      req.set_form_data form_data unless form_data.empty?
      req
    end
  end
end

#delete(arg, form_data = {}) ⇒ Object



37
38
39
40
# File 'lib/gpd-request.rb', line 37

def delete(arg, form_data={})
  methods = {String: :string_delete, Array: :array_delete}
  send (methods[arg.class.to_s.to_sym]), arg, form_data
end

#get(uri) ⇒ Object



25
26
27
# File 'lib/gpd-request.rb', line 25

def get(uri)
  request(uri) {|url| Net::HTTP::Get.new url.path, @headers }
end

#post(uri, form_data = {}) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/gpd-request.rb', line 29

def post(uri, form_data={})
  request(uri) do |url| 
    req = Net::HTTP::Post.new(url.path, @headers)
    req.set_form_data form_data unless form_data.empty?
    req
  end
end

#request(uri) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/gpd-request.rb', line 16

def request(uri)  
  path = uri
  url = URI.parse(path)
  req = yield(url)
  req.basic_auth(@username, @password)
  response = Net::HTTP.new(url.host, url.port).start { |http| http.request(req) }
  Document.new(response.body).write
end

#string_delete(uri, form_data = {}) ⇒ Object



42
43
44
45
46
47
48
# File 'lib/gpd-request.rb', line 42

def string_delete(uri, form_data={})
  request(uri) do |url| 
    req = Net::HTTP::Delete.new(url.path, @headers)
    req.set_form_data form_data unless form_data.empty?
    req
  end
end