class ParichkiBg::Request::Query

Attributes

status[R]

Public Class Methods

new(attributes = {}) click to toggle source

status 0 unused request_id status 1 used request_id

Calls superclass method ParichkiBg::Request::Base::new
# File lib/parichki_bg/request/query.rb, line 13
def initialize(attributes = {})
  super
  @pin = attributes[:pin]
  @status = 0
end

Public Instance Methods

build_transaction() click to toggle source
# File lib/parichki_bg/request/query.rb, line 42
def build_transaction
  raise UsedRequestId if @status == 1
  used_request_id
  Transaction.new(amount: amount, request_id: result["request_id"], user_id: user_id, pin: pin)
end
can_pay?() click to toggle source
# File lib/parichki_bg/request/query.rb, line 34
def can_pay?
  !!result["allow_virtual"]        
end
make_cash_transaction() click to toggle source
# File lib/parichki_bg/request/query.rb, line 48
def make_cash_transaction
  build_transaction.tap {|x| x.pay_with_cash}
end
make_point_transaction() click to toggle source
# File lib/parichki_bg/request/query.rb, line 52
def make_point_transaction
  build_transaction.tap {|x| x.pay_with_points}
end
send() click to toggle source
Calls superclass method ParichkiBg::Request::Base#send
# File lib/parichki_bg/request/query.rb, line 23
def send
  @status = 0
  super
end
success?() click to toggle source
# File lib/parichki_bg/request/query.rb, line 38
def success?
  !!( @response.code == "200" && @response.body.match(/user_id/) )
end
to_json() click to toggle source
# File lib/parichki_bg/request/query.rb, line 28
def to_json
  {
    amount: "#{amount}"
  }.to_json
end
uri() click to toggle source
# File lib/parichki_bg/request/query.rb, line 19
def uri
  URI "#{ParichkiBg::main_api_url}/#{user_id}/data?vendor_id=#{ParichkiBg::vendor_id}&signed_request=#{signed_request}"
end

Private Instance Methods

used_request_id() click to toggle source
# File lib/parichki_bg/request/query.rb, line 58
def used_request_id
  @status = 1
end