Sha256: 84c0d428a6de0cff2efb036b7a9a0dc6cf754aa6ce276f996bfff7dc1b5b1f61

Contents?: true

Size: 618 Bytes

Versions: 7

Compression:

Stored size: 618 Bytes

Contents

module Patron
  module Util
    extend self
    
    def build_query_pairs_from_hash(hash, escape_values=false)
      pairs = []
      recursive = Proc.new do |h, prefix|
        h.each_pair do |k,v|
          key = prefix == '' ? k : "#{prefix}[#{k}]"
          v = Patron::Session.escape(v.to_s) if escape_values
          v.is_a?(Hash) ? recursive.call(v, key) : pairs << "#{key}=#{v}"
        end
      end
      recursive.call(hash, '')
      pairs
    end
    
    def build_query_string_from_hash(hash, escape_values=false)
      build_query_pairs_from_hash(hash, escape_values).join('&')
    end
    
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
patron-0.13.3 lib/patron/util.rb
patron-0.13.1 lib/patron/util.rb
patron-0.12.1 lib/patron/util.rb
patron-0.12.0 lib/patron/util.rb
patron-0.11.1 lib/patron/util.rb
patron-0.11.0 lib/patron/util.rb
patron-0.10.0 lib/patron/util.rb