0
-%w( rubygems mime/types camping cgi
0
- digest/md5 net/https redcloth ).each { |lib| require lib }
0
+%w( rubygems mime/types camping xmlsimple
0
+ digest/md5 net/https redcloth pp).each { |lib| require lib }
0
Camping.goes :UtiliTool
0
# 'quick_query', the key will be dropped, and only the value will be used.
0
def create_uri_string_from_form_inputs(form_inputs)
0
- form_inputs.delete_if { |key,value| value
== "" }
0
+ form_inputs.delete_if { |key,value| value
.strip == "" }
0
form_inputs.each do |key, value|
0
key == 'quick_query' ? uri_array << value : uri_array << "#{key}=#{value}"
0
class GatewayResponse < Braintree
0
- attr_accessor :response_body
0
- def initialize(response_body)
0
+ attr_accessor :response_body, :format, :formatted_response_body
0
+ def initialize(response_body, format = nil)
0
self.response_body = response_body
0
+ self.formatted_response_body = format_response_body
0
- self.response_body.split("&").each do |pair|
0
+ unless self.format.nil?
0
+ self.response_body.split("&").each do |pair|
0
pair_array = pair.split("=")
0
- response_hash[pair_array[0]] = pair_array[1]
0
+ response_hash[pair_array[0]] = pair_array[1]
0
+ response_hash.delete_if { |key, value| value.nil? }
0
+ response_hash = XmlSimple.xml_in(self.response_body, { 'SupressEmpty' => true, 'NormaliseSpace' => 2 })
0
- response_hash.delete_if { |key, value| value.nil? }
0
+ def format_response_body
0
+ xml_oo = XmlSimple.xml_in(self.response_body, { 'SuppressEmpty' => true })
0
+ xml_oo_out = XmlSimple.xml_out(xml_oo, { 'NoEscape' => true })
0
+ formatted = xml_oo_out.gsub("<", "<").gsub(">", ">")
0
module UtiliTool::Controllers
0
+ class QuickQuery < R '/quick_query'
0
+ @gateway_request = GatewayRequest.new({ :api => "query" })
0
+ respond_to do |format|
0
+ format.html { render :quick_query }
0
+ @gateway_request = GatewayRequest.new( { :api, "query"}, input )
0
+ @gateway_response = GatewayResponse.new(@gateway_request.response)
0
+ respond_to do |format|
0
+ format.html { render :quick_query }
0
class Assets < R('/static/(.+)')
0
PATH = File.expand_path("#{File.dirname(__FILE__)}")
0
li { a "QuickGet", :href => R(QuickGet), :title => "QuickGet",
0
+ li { a "QuickQuery", :href => R(QuickQuery), :title => "QuickQuery",
0
form({ :method => 'post', :action => R(Hasher)}) do
0
legend "Input Values to Hash"
0
input :type => 'submit', :value => 'Submit'
0
div.static do; static_content("quick_get"); end
0
unless @gateway_response.nil?
0
input :type => 'text', :name => "username" }
0
p { label 'Password', :for => 'password'; br;
0
input :type => 'text', :name => "password" }
0
- p { label 'Query', :for => 'quick_get_query'; br;
0
+ p { label 'Query', :for => 'quick_query'; br;
0
+ textarea :name => "quick_query", :rows => 5, :cols => 55 }
0
+ input :type => 'submit', :value => 'Submit'
0
+ div.static do; static_content("quick_query"); end
0
+ unless @gateway_response.nil?
0
+ h3 "Raw Gateway Response"
0
+ p "Better formatting is on it's way."
0
+ p { code { word_wrap(@gateway_request.uri_string) }}
0
+ @gateway_response.formatted_response_body
0
+ form({ :method => 'post', :action => R(QuickQuery)}) do
0
+ legend "Input a query string"
0
+ p { label 'Username', :for => 'username'; br;
0
+ input :type => 'text', :name => "username" }
0
+ p { label 'Password', :for => 'password'; br;
0
+ input :type => 'text', :name => "password" }
0
+ p { label 'Query', :for => 'quick_query'; br;
0
textarea :name => "quick_query", :rows => 5, :cols => 55 }
0
input :type => 'submit', :value => 'Submit'
Comments
No one has commented yet.