Sha256: 091b9cc303475494425e9b167943b023e514db6072cad0dd2314e92b23644cd6

Contents?: true

Size: 483 Bytes

Versions: 58

Compression:

Stored size: 483 Bytes

Contents

require 'cgi'

module ActiveMerchant
  class PostData < Hash
    class_attribute :required_fields, :instance_writer => false
    self.required_fields = []

    def []=(key, value)
      return if value.blank? && !required?(key)
      super
    end

    def to_post_data
      collect { |key, value| "#{key}=#{CGI.escape(value.to_s)}" }.join("&")
    end

    alias_method :to_s, :to_post_data

    private
    def required?(key)
      required_fields.include?(key)
    end
  end
end

Version data entries

58 entries across 57 versions & 5 rubygems

Version Path
activemerchant-1.79.2 lib/active_merchant/post_data.rb
activemerchant-1.79.1 lib/active_merchant/post_data.rb
activemerchant-1.79.0 lib/active_merchant/post_data.rb
activemerchant-1.78.0 lib/active_merchant/post_data.rb
activemerchant-1.77.0 lib/active_merchant/post_data.rb
activemerchant-1.76.0 lib/active_merchant/post_data.rb
activemerchant-1.75.0 lib/active_merchant/post_data.rb
activemerchant-1.74.0 lib/active_merchant/post_data.rb
activemerchant-1.73.0 lib/active_merchant/post_data.rb
activemerchant-1.72.0 lib/active_merchant/post_data.rb
activemerchant-1.71.0 lib/active_merchant/post_data.rb
activemerchant-1.70.0 lib/active_merchant/post_data.rb
activemerchant-1.69.0 lib/active_merchant/post_data.rb
activemerchant-1.68.0 lib/active_merchant/post_data.rb
activemerchant-1.67.0 lib/active_merchant/post_data.rb
activemerchant-1.66.0 lib/active_merchant/post_data.rb
activemerchant-1.65.0 lib/active_merchant/post_data.rb
activemerchant-1.64.0 lib/active_merchant/post_data.rb
activemerchant-1.63.0 lib/active_merchant/post_data.rb
activemerchant-1.62.0 lib/active_merchant/post_data.rb