Class: GPDRequest
- Inherits:
-
Object
- Object
- GPDRequest
- Defined in:
- lib/gpd-request.rb
Instance Method Summary collapse
- #array_delete(a, form_data = {}) ⇒ Object
- #delete(arg, form_data = {}) ⇒ Object
- #get(uri, params = {}) ⇒ Object
-
#initialize(user = nil, pass = nil, headers = {}) ⇒ GPDRequest
constructor
A new instance of GPDRequest.
- #post(uri, form_data = {}) ⇒ Object
- #request(uri) ⇒ Object
- #string_delete(uri, form_data = {}) ⇒ Object
Constructor Details
#initialize(user = nil, pass = nil, headers = {}) ⇒ GPDRequest
Returns a new instance of GPDRequest.
10 11 12 13 14 15 |
# File 'lib/gpd-request.rb', line 10 def initialize(user=nil, pass=nil, headers={}) @headers = { "User-Agent" => "Ruby-GPDRequest" }.merge headers @username, @password = user, pass end |
Instance Method Details
#array_delete(a, form_data = {}) ⇒ Object
70 71 72 73 74 75 76 77 78 |
# File 'lib/gpd-request.rb', line 70 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
57 58 59 60 |
# File 'lib/gpd-request.rb', line 57 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, params = {}) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/gpd-request.rb', line 28 def get(uri, params={}) if uri =~ /^http:/ then request(uri) do |url| if params.any? then encoded_params = URI.encode_www_form(params) Net::HTTP::Get.new [url.path, encoded_params].join('?'), @headers else Net::HTTP::Get.new url.path, @headers end end elsif uri =~ /^https:/ Net::HTTP.get_response(URI.parse(uri)) end end |
#post(uri, form_data = {}) ⇒ Object
48 49 50 51 52 53 54 55 |
# File 'lib/gpd-request.rb', line 48 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
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/gpd-request.rb', line 17 def request(uri) path = uri url = URI.parse(path) req = yield(url) req.basic_auth(@username, @password) if @username response = Net::HTTP.new(url.host, url.port).start do |http| http.request(req) end response end |
#string_delete(uri, form_data = {}) ⇒ Object
62 63 64 65 66 67 68 |
# File 'lib/gpd-request.rb', line 62 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 |