Sha256: ceab59d469e19da27db299b0e9ce03052864f310383a686a0c0f7ebb624f185e

Contents?: true

Size: 1.13 KB

Versions: 39

Compression:

Stored size: 1.13 KB

Contents

module Paypal
  module Payment
    class Response::Item < Base
      cattr_reader :attribute_mapping
      @@attribute_mapping = {
        :NAME => :name,
        :DESC => :description,
        :QTY => :quantity,
        :NUMBER => :number,
        :ITEMCATEGORY => :category,
        :ITEMWIDTHVALUE => :width,
        :ITEMHEIGHTVALUE => :height,
        :ITEMLENGTHVALUE => :length,
        :ITEMWEIGHTVALUE => :weight,
        :SHIPPINGAMT => :shipping,
        :HANDLINGAMT => :handling,
        :CURRENCYCODE => :currency
        
      }
      attr_accessor *@@attribute_mapping.values
      attr_accessor :amount

      def initialize(attributes = {})
        attrs = attributes.dup
        @@attribute_mapping.each do |key, value|
          self.send "#{value}=", attrs.delete(key)
        end
        @quantity = @quantity.to_i
        @amount = Common::Amount.new(
          :total => attrs.delete(:AMT),
          :tax => attrs.delete(:TAXAMT)
        )

        # warn ignored params
        attrs.each do |key, value|
          Paypal.log "Ignored Parameter (#{self.class}): #{key}=#{value}", :warn
        end
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 4 rubygems

Version Path
ianfleeton-paypal-express-1.1.0 lib/paypal/payment/response/item.rb
ianfleeton-paypal-express-1.0.0 lib/paypal/payment/response/item.rb
ianfleeton-paypal-express-0.8.7 lib/paypal/payment/response/item.rb
ianfleeton-paypal-express-0.8.6 lib/paypal/payment/response/item.rb
ianfleeton-paypal-express-0.8.5 lib/paypal/payment/response/item.rb
ianfleeton-paypal-express-0.8.4 lib/paypal/payment/response/item.rb
creative-paypal-express-1.4.1 lib/paypal/payment/response/item.rb
creative-paypal-express-1.4.0 lib/paypal/payment/response/item.rb
creative-paypal-express-1.3.0 lib/paypal/payment/response/item.rb
ianfleeton-paypal-express-0.8.3 lib/paypal/payment/response/item.rb
ianfleeton-paypal-express-0.8.2 lib/paypal/payment/response/item.rb
creative-paypal-express-1.2.1 lib/paypal/payment/response/item.rb
creative-paypal-express-1.2.0 lib/paypal/payment/response/item.rb
creative-paypal-express-1.1.0 lib/paypal/payment/response/item.rb
dfg-paypal-0.8.2 lib/paypal/payment/response/item.rb
creative-paypal-express-1.0.1.dev2 lib/paypal/payment/response/item.rb
creative-paypal-express-1.0.1.dev1 lib/paypal/payment/response/item.rb
creative-paypal-express-1.0.0 lib/paypal/payment/response/item.rb
creative-paypal-express-0.8.2.4 lib/paypal/payment/response/item.rb
creative-paypal-express-0.8.2.3 lib/paypal/payment/response/item.rb