Sha256: 378a65523e09e37e5ff679895fb77f0b796483ff387cee42b10cd14951ad8789

Contents?: true

Size: 871 Bytes

Versions: 1

Compression:

Stored size: 871 Bytes

Contents

module PayPal::Invoice
  module Response
    require "paypal/invoice/response/invoice"
    require "paypal/invoice/response/details"
    require "paypal/invoice/response/search"

    RESPONDERS = {
      :create               => "Invoice",
      :send                 => "Invoice",
      :create_and_send      => "Invoice",
      :update               => "Invoice",
      :cancel               => "Invoice",
      :mark_as_paid         => "Invoice",
      :mark_as_unpaid       => "Invoice",
      :mark_as_refunded     => "Invoice",
      :details              => "Details",
      :search               => "Search"
    }

    def self.process(method, response)
      response_class = PayPal::Invoice::Response.const_get(RESPONDERS[method])
      if response.respond_to?(:body_str)
        response_class.new(MultiJson.load(response.body_str))
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
paypal-payment-0.1.2 lib/paypal/invoice/response.rb