class ParichkiBg::Request::Base

Attributes

amount[R]
pin[R]
user_id[R]

Public Class Methods

new(attributes = {}) click to toggle source
# File lib/parichki_bg/request/base.rb, line 7
def initialize(attributes = {})
  @amount = attributes.fetch :amount
  @pin = attributes.fetch :pin
  @user_id = attributes.fetch :user_id
end

Public Instance Methods

checksum() click to toggle source
# File lib/parichki_bg/request/base.rb, line 28
def checksum
  ParichkiBg.hmac to_json
end
encoded_checksum() click to toggle source
# File lib/parichki_bg/request/base.rb, line 32
def encoded_checksum
  Base64.strict_encode64 checksum
end
encoded_data() click to toggle source
# File lib/parichki_bg/request/base.rb, line 36
def encoded_data
  Base64.strict_encode64 to_json
end
https() click to toggle source
# File lib/parichki_bg/request/base.rb, line 13
def https
  @http ||= Net::HTTP.new uri.host, uri.port
  @http.use_ssl = true
  @http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  @http
end
result() click to toggle source
# File lib/parichki_bg/request/base.rb, line 40
def result
  if success?
    ActiveSupport::JSON.decode @response.body
  else
    {"error" => "UserNotFound"}
  end
end
send() click to toggle source
# File lib/parichki_bg/request/base.rb, line 20
def send
  @response = https.get uri.request_uri
end
signed_request() click to toggle source
# File lib/parichki_bg/request/base.rb, line 24
def signed_request
  encoded_checksum + "." + encoded_data
end