Sha256: 369b6feb3abdb94cf7e892d4c9a3dbf4347d410a079d7bd41913fdef7542cfa8

Contents?: true

Size: 827 Bytes

Versions: 1

Compression:

Stored size: 827 Bytes

Contents

require "cgi"
require "uri"
require "ostruct"
require "time"

module PayPal
  module ExpressCheckout
    class Base
      include PayPal::ExpressCheckout::Fields

      def initialize(options = {})
        options.each {|name, value| send("#{name}=", value)}
      end

      # Just a shortcut convenience.
      #
      def request # :nodoc:
        @request ||= PayPal::ExpressCheckout::Request.new
      end

      def run(method, params = {}, headers = {})
        request.run(self, method, params, headers)
      end

      private
      # Collect specified attributes and build a hash out of it.
      #
      def collect(*args) # :nodoc:
        args.inject({}) do |buffer, attr_name|
          value = send(attr_name)
          buffer[attr_name] = value if value
          buffer
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
paypal-payment-0.1.2 lib/paypal/express_checkout/base.rb