Module: Webmoney::RequestResult
- Included in:
- Webmoney
- Defined in:
- lib/request_result.rb
Overview
:nodoc:all
Instance Method Summary collapse
- #result_balance(doc) ⇒ Object
- #result_bussines_level(doc) ⇒ Object
- #result_check_sign(doc) ⇒ Object
- #result_check_user(doc) ⇒ Object
- #result_create_invoice(doc) ⇒ Object
- #result_create_transaction(doc) ⇒ Object
- #result_find_wm(doc) ⇒ Object
- #result_get_passport(doc) ⇒ Object
- #result_login(doc) ⇒ Object
- #result_outgoing_invoices(doc) ⇒ Object
- #result_send_message(doc) ⇒ Object
- #result_trust_me(doc) ⇒ Object (also: #result_i_trust)
Instance Method Details
#result_balance(doc) ⇒ Object
107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/request_result.rb', line 107 def result_balance(doc) purses = [] doc.at('//purses').children.each do |purse| purses_hash = {} purse.children.each do |child| purses_hash[child.name.to_sym] = child.content end purses << purses_hash unless purses_hash.empty? end { :purses => purses, :retval => doc.at('//retval').inner_html.to_i } end |
#result_bussines_level(doc) ⇒ Object
12 13 14 |
# File 'lib/request_result.rb', line 12 def result_bussines_level(doc) doc.at('//level').inner_html.to_i end |
#result_check_sign(doc) ⇒ Object
4 5 6 |
# File 'lib/request_result.rb', line 4 def result_check_sign(doc) doc.at('//testsign/res').inner_html == 'yes' ? true : false end |
#result_check_user(doc) ⇒ Object
101 102 103 104 105 |
# File 'lib/request_result.rb', line 101 def result_check_user(doc) { :retval => doc.at('//retval').inner_html.to_i } end |
#result_create_invoice(doc) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/request_result.rb', line 31 def result_create_invoice(doc) res = { :retval => doc.at('//retval').inner_html.to_i, :retdesc => (doc.at('//testwmpurse/retdesc').inner_html rescue nil), :orderid => doc.at('//invoice/orderid').inner_html.to_i } if res[:retval] == 0 res[:id] = doc.at('//invoice')['id'].to_i res[:ts] = doc.at('//invoice')['ts'].to_i res[:state] = doc.at('//invoice/state').inner_html.to_i res[:created_at] = Time.parse(doc.at('//invoice/datecrt').inner_html) end res end |
#result_create_transaction(doc) ⇒ Object
46 47 48 49 50 51 52 53 54 |
# File 'lib/request_result.rb', line 46 def result_create_transaction(doc) op = doc.at('//operation') { :operation_id => op['id'], :operation_ts => op['ts'] }.merge( op.children.inject({}) do |memo, elm| memo.merge!(elm.name.to_sym => elm.text) end ) end |
#result_find_wm(doc) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/request_result.rb', line 23 def result_find_wm(doc) { :retval => doc.at('//retval').inner_html.to_i, :wmid => (doc.at('//testwmpurse/wmid').inner_html rescue nil), :purse => (doc.at('//testwmpurse/purse').inner_html rescue nil) } end |
#result_get_passport(doc) ⇒ Object
8 9 10 |
# File 'lib/request_result.rb', line 8 def result_get_passport(doc) Webmoney::Passport.parse_result(doc) end |
#result_login(doc) ⇒ Object
80 81 82 83 84 85 86 87 |
# File 'lib/request_result.rb', line 80 def result_login(doc) { :retval => doc.at('/response')['retval'].to_i, :retdesc => doc.at('/response')['sval'], :lastAccess => doc.at('/response')['lastAccess'], :expires => doc.at('/response')['expires'] } end |
#result_outgoing_invoices(doc) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/request_result.rb', line 56 def result_outgoing_invoices(doc) res = { :retval => doc.at('//retval').inner_html.to_i, :retdesc => (doc.at('//testwmpurse/retdesc').inner_html rescue nil), } res[:invoices] = doc.xpath('//outinvoices/outinvoice').map do |invoice| r = { :id => invoice['id'].to_i, :ts => invoice['ts'].to_i, } invoice.elements.each do |tag| name = tag.name.to_sym value = tag.inner_html value = value.to_i if [:orderid, :tranid, :period, :expiration, :wmtranid, :state].include?(name) value = value.to_f if [:rest, :amount, :comiss].include?(name) value = Time.parse(value) if [:datecrt, :dateupd].include?(name) value = cp1251_to_utf8(value) if [:desc, :address].include?(name) r[name] = value end r end res end |
#result_send_message(doc) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/request_result.rb', line 16 def (doc) { :id => doc.at('//message')['id'], :date => Time.parse(doc.at('//message/datecrt').inner_html) } end |
#result_trust_me(doc) ⇒ Object Also known as: result_i_trust
89 90 91 92 93 94 95 96 97 |
# File 'lib/request_result.rb', line 89 def result_trust_me(doc) { :count => doc.at('//trustlist')['cnt'].to_i, :invoices => doc.xpath('//trust[@inv="1"]/purse').map(&:inner_text), :transactions => doc.xpath('//trust[@trans="1"]/purse').map(&:inner_text), :balance => doc.xpath('//trust[@purse="1"]/purse').map(&:inner_text), :history => doc.xpath('//trust[@transhist="1"]/purse').map(&:inner_text) } end |