lib/datatrans/xml/transaction.rb in datatrans-2.2.2 vs lib/datatrans/xml/transaction.rb in datatrans-2.3.0

- old
+ new

@@ -2,36 +2,42 @@ module Datatrans::XML class Transaction attr_accessor :request attr_reader :response, :params - + def initialize(params) @params = params.symbolize_keys end - + def authorize self.request = AuthorizeRequest.new(params) @response = AuthorizeResponse.new(request.process) @response.successful? end - + def void self.request = VoidRequest.new(params) @response = VoidResponse.new(request.process) @response.successful? end - + def capture self.request = CaptureRequest.new(params) @response = CaptureResponse.new(request.process) @response.successful? end - + + def status + self.request = StatusRequest.new(params) + @response = StatusResponse.new(request.process) + @response.successful? + end + # TODO: purchase, credit methods - - + + def method_missing(method, *args, &block) if response.respond_to? method.to_sym response.send(method) elsif request.respond_to? method.to_sym request.send(method) @@ -43,5 +49,7 @@ end require 'datatrans/xml/transaction/authorize' require 'datatrans/xml/transaction/void' require 'datatrans/xml/transaction/capture' +require 'datatrans/xml/transaction/status' +