Class: QBWC::Request
- Inherits:
-
Object
- Object
- QBWC::Request
- Defined in:
- lib/qbwc/request.rb
Instance Attribute Summary collapse
-
#request ⇒ Object
readonly
Returns the value of attribute request.
-
#response_proc ⇒ Object
readonly
Returns the value of attribute response_proc.
Class Method Summary collapse
-
.wrap_request(request) ⇒ Object
Wrap a Hash request with qbxml_msgs_rq, if it’s not already.
Instance Method Summary collapse
-
#initialize(request) ⇒ Request
constructor
A new instance of Request.
- #to_hash ⇒ Object
- #to_qbxml ⇒ Object
Constructor Details
#initialize(request) ⇒ Request
Returns a new instance of Request.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/qbwc/request.rb', line 5 def initialize(request) #Handle Cases for a request passed in as a Hash or String #If it's a hash verify that it is properly wrapped with qbxml_msg_rq and xml_attributes for on_error events #Allow strings of QBXML to be passed in directly. case when request.is_a?(Hash) request = self.class.wrap_request(request) @request = QBWC.parser.to_qbxml(request, {:validate => true}) when request.is_a?(String) @request = request else raise "Request '#{request}' must be a Hash or a String." end end |
Instance Attribute Details
#request ⇒ Object (readonly)
Returns the value of attribute request.
3 4 5 |
# File 'lib/qbwc/request.rb', line 3 def request @request end |
#response_proc ⇒ Object (readonly)
Returns the value of attribute response_proc.
3 4 5 |
# File 'lib/qbwc/request.rb', line 3 def response_proc @response_proc end |
Class Method Details
.wrap_request(request) ⇒ Object
Wrap a Hash request with qbxml_msgs_rq, if it’s not already.
30 31 32 33 34 35 |
# File 'lib/qbwc/request.rb', line 30 def self.wrap_request(request) return request if request.keys.include?(:qbxml_msgs_rq) wrapped_request = { :qbxml_msgs_rq => {:xml_attributes => {"onError"=> QBWC::on_error } } } wrapped_request[:qbxml_msgs_rq] = wrapped_request[:qbxml_msgs_rq].merge(request) return wrapped_request end |