Sha256: 3aa9ede33c75ca489d14b3e2ba79916cfa0a21f14853bd8280bc851df1d65e6b

Contents?: true

Size: 446 Bytes

Versions: 77

Compression:

Stored size: 446 Bytes

Contents

require 'cgi'

class PostData < Hash
  class_inheritable_accessor :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

Version data entries

77 entries across 77 versions & 22 rubygems

Version Path
bcarpenter-active_shipping-0.0.2 lib/active_shipping/lib/post_data.rb
bcarpenter-active_shipping-0.0.5 lib/active_shipping/lib/post_data.rb
bcarpenter-active_shipping-0.0.6 lib/active_shipping/lib/post_data.rb
bcarpenter-active_shipping-0.0.7 lib/active_shipping/lib/post_data.rb
johnideal-activemerchant-1.4.10 lib/active_merchant/lib/post_data.rb
johnideal-activemerchant-1.4.11 lib/active_merchant/lib/post_data.rb
johnideal-activemerchant-1.4.4 lib/active_merchant/lib/post_data.rb
johnideal-activemerchant-1.4.5 lib/active_merchant/lib/post_data.rb
johnideal-activemerchant-1.4.6 lib/active_merchant/lib/post_data.rb
johnideal-activemerchant-1.4.7 lib/active_merchant/lib/post_data.rb
johnideal-activemerchant-1.4.8 lib/active_merchant/lib/post_data.rb
martinstannard-activemerchant-0.1.0 lib/active_merchant/lib/post_data.rb
mattbauer-activemerchant-1.4.2 lib/active_merchant/lib/post_data.rb
seamusabshere-active_merchant-1.4.2.1 lib/active_merchant/lib/post_data.rb
seamusabshere-active_merchant-1.4.2.3 lib/active_merchant/lib/post_data.rb
tomriley-active_merchant-1.4.2.3 lib/active_merchant/lib/post_data.rb
tomriley-active_merchant-1.4.2.4 lib/active_merchant/lib/post_data.rb
tomriley-active_merchant-1.4.2.5 lib/active_merchant/lib/post_data.rb
tomriley-active_merchant-1.4.2.6 lib/active_merchant/lib/post_data.rb
tomriley-active_merchant-1.4.2.7 lib/active_merchant/lib/post_data.rb