module JdPay::Util
Constants
- XML_HEAD
Public Class Methods
build_pay_form(url, form_attributes)
click to toggle source
# File lib/jd_pay/util.rb, line 37 def build_pay_form(url, form_attributes) inputs = '' "<html> <body onload=document.getElementById('payForm').submit(); style='display: none;'> <form action=#{url} method='post' id='payForm'> #{form_attributes.each do |k, v| inputs << "<input type='text' name=#{k} value=#{v}>" end and inputs} </form> </body> </html>".gsub(/>[[:space:]]+/, ">") end
denilize(h)
click to toggle source
# File lib/jd_pay/util.rb, line 32 def denilize(h) h.each_with_object({}) { | (k, v), g | g[k] = (Hash === v) ? denilize(v) : v ? v : '' } end
to_uri(params)
click to toggle source
# File lib/jd_pay/util.rb, line 26 def to_uri(params) params.sort.map do |k, v| "#{k}=#{v}" end.compact.join('&') end
to_xml(params, options = {})
click to toggle source
# File lib/jd_pay/util.rb, line 5 def to_xml(params, options = {}) options[:root] = options[:root] || 'jdpay' XML_HEAD + xml_out({ options[:root] => denilize(params) }) end
xml_out(params)
click to toggle source
# File lib/jd_pay/util.rb, line 10 def xml_out(params) xml = [] params.each do |k, v| if v.is_a?(Array) v.each do |ary| xml << "<#{k}>#{xml_out(ary)}</#{k}>" end elsif v.is_a?(Hash) xml << "<#{k}>#{xml_out(v)}</#{k}>" else xml << "<#{k}>#{v}</#{k}>" end end xml.join end