class Workarea::Forter::BogusGateway

Attributes

options[R]

Public Class Methods

new(options = {}) click to toggle source
# File lib/workarea/forter/bogus_gateway.rb, line 6
def initialize(options = {})
  @options = options
end

Public Instance Methods

create_decision(order_id, hsh = {}) click to toggle source
# File lib/workarea/forter/bogus_gateway.rb, line 10
def create_decision(order_id, hsh = {})
  response_json = if hsh[:accountOwner][:email] == "decline@workarea.com"
    response_body(order_id, "decline")
  elsif hsh[:accountOwner][:email] == "notreviewed@workarea.com"
    response_body(order_id, "not reviewed")
  elsif hsh[:accountOwner][:email] == "error@workarea.com"
    error_body(order_id)
  else
    response_body(order_id, "approve")
  end

  response = Faraday.new do |builder|
    builder.adapter :test do |stub|
      stub.get('/rest/bogus.json') { |env| [ 200, {}, response_json ] }
    end
  end
  response.get('/rest/bogus.json')
end
method_missing(method, *args) click to toggle source
# File lib/workarea/forter/bogus_gateway.rb, line 29
def method_missing(method, *args)
  generic_response
end

Private Instance Methods

error_body(id) click to toggle source
# File lib/workarea/forter/bogus_gateway.rb, line 53
def error_body(id)
  {
    status: "failure",
    action: "",
    errors: [{ "path" => "#/payment/", "message" => "Forced Gateway Error" }]
  }.to_json
end
generic_response() click to toggle source
# File lib/workarea/forter/bogus_gateway.rb, line 35
def generic_response
  response = Faraday.new do |builder|
    builder.adapter :test do |stub|
      stub.get('/rest/bogus.json') { |env| [ 200, {}, nil ] }
    end
  end
  response.get('/rest/bogus.json')
end
response_body(id, action) click to toggle source
# File lib/workarea/forter/bogus_gateway.rb, line 44
def response_body(id, action)
  {
    status: "success",
    transaction: "#{id}",
    action: "#{action}",
    message: "Transaction #{id}"
  }.to_json
end