Class: VW::Request
- Inherits:
-
Com::Android::Volley::Toolbox::StringRequest
- Object
- Com::Android::Volley::Toolbox::StringRequest
- VW::Request
- Defined in:
- lib/project/volley_wrap/request.rb
Constant Summary collapse
- VOLLEY_GET =
part of this class had to be implemented as a Java extension to work around what appears to be a RM bug. See request.java
0
- VOLLEY_POST =
1
- VOLLEY_PUT =
2
- VOLLEY_DELETE =
3
Class Method Summary collapse
- .add_params_to_url(url, params) ⇒ Object
- .delete_request(url, params, listener) ⇒ Object
- .get_request(url, params, listener) ⇒ Object
- .post_request(url, params, listener) ⇒ Object
- .put_request(url, params, listener) ⇒ Object
- .retry_policy ⇒ Object
- .set_request_for_listener(method, url, params, listener) ⇒ Object
Instance Method Summary collapse
- #headers=(headers) ⇒ Object
- #listener=(value) ⇒ Object
- #parseNetworkResponse(network_response) ⇒ Object
Class Method Details
.add_params_to_url(url, params) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/project/volley_wrap/request.rb', line 54 def self.add_params_to_url(url, params) if params.blank? url else params_array = params.map do |k, v| v = Java::Net::URLEncoder.encode(v, "utf-8") "#{k}=#{v}" end "#{url}?#{params_array.join("&")}" end end |
.delete_request(url, params, listener) ⇒ Object
30 31 32 33 34 |
# File 'lib/project/volley_wrap/request.rb', line 30 def self.delete_request(url, params, listener) request_with_params(VOLLEY_DELETE, url, params, listener).tap do |req| req.listener = listener end end |
.get_request(url, params, listener) ⇒ Object
11 12 13 14 15 16 |
# File 'lib/project/volley_wrap/request.rb', line 11 def self.get_request(url, params, listener) url = add_params_to_url(url, params) request_with_params(VOLLEY_GET, url, params, listener).tap do |req| req.listener = listener end end |
.post_request(url, params, listener) ⇒ Object
18 19 20 21 22 |
# File 'lib/project/volley_wrap/request.rb', line 18 def self.post_request(url, params, listener) request_with_params(VOLLEY_POST, url, params, listener).tap do |req| req.listener = listener end end |
.put_request(url, params, listener) ⇒ Object
24 25 26 27 28 |
# File 'lib/project/volley_wrap/request.rb', line 24 def self.put_request(url, params, listener) request_with_params(VOLLEY_PUT, url, params, listener).tap do |req| req.listener = listener end end |
.retry_policy ⇒ Object
40 41 42 |
# File 'lib/project/volley_wrap/request.rb', line 40 def self.retry_policy Com::Android::Volley::DefaultRetryPolicy.new(10000, 3, 1) end |
.set_request_for_listener(method, url, params, listener) ⇒ Object
66 67 68 69 70 71 |
# File 'lib/project/volley_wrap/request.rb', line 66 def self.set_request_for_listener(method, url, params, listener) # There probably is a much better way then passing all these around like this listener.request_url = url listener.request_params = params listener.request_method = method end |
Instance Method Details
#headers=(headers) ⇒ Object
44 45 46 47 |
# File 'lib/project/volley_wrap/request.rb', line 44 def headers=(headers) # call into the method defined in the .java file setHeaders(headers) end |
#listener=(value) ⇒ Object
36 37 38 |
# File 'lib/project/volley_wrap/request.rb', line 36 def listener=(value) @listener = value end |
#parseNetworkResponse(network_response) ⇒ Object
49 50 51 52 |
# File 'lib/project/volley_wrap/request.rb', line 49 def parseNetworkResponse(network_response) @listener.network_response = network_response if @listener super end |