Sha256: dacfafdec9fdc967c8a038f272afec7a7fc5c5ddcf599aa80eb8907bf910e0ad

Contents?: true

Size: 621 Bytes

Versions: 17

Compression:

Stored size: 621 Bytes

Contents

class FsUtils
  
  def self.querystring_from_hash(hash)
    params = hash.map do |k,v|
      k = k.to_s
      if v.is_a? Hash
        v.collect do |k2,v2|
          k2 = k2.to_s
          v2 = v2.to_s
          v2 = url_encode(v2)
          "#{k}.#{k2}=#{v2}"
        end.join('&')
      else
        v = v.to_s
        v = self.url_encode(v)
        k + '=' + v
      end
    end
    params.join('&')
  end
  
  private
  def self.url_encode(string)
    # Taken from http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/156044
    string.gsub( /[^a-zA-Z0-9\-_\.!~*'()]/n ) {|x| sprintf('%%%02x', x[0]) }
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
ruby-fs-stack-0.5.2 lib/ruby-fs-stack/fs_utils.rb
ruby-fs-stack-0.5.1 lib/ruby-fs-stack/fs_utils.rb
ruby-fs-stack-0.5.0 lib/ruby-fs-stack/fs_utils.rb
ruby-fs-stack-0.4.12 lib/ruby-fs-stack/fs_utils.rb
ruby-fs-stack-0.4.11 lib/ruby-fs-stack/fs_utils.rb
ruby-fs-stack-0.4.10 lib/ruby-fs-stack/fs_utils.rb
ruby-fs-stack-0.4.9 lib/ruby-fs-stack/fs_utils.rb
ruby-fs-stack-0.4.8 lib/ruby-fs-stack/fs_utils.rb
ruby-fs-stack-0.4.7 lib/ruby-fs-stack/fs_utils.rb
ruby-fs-stack-0.4.6 lib/ruby-fs-stack/fs_utils.rb
ruby-fs-stack-0.4.5 lib/ruby-fs-stack/fs_utils.rb
ruby-fs-stack-0.4.4 lib/ruby-fs-stack/fs_utils.rb
ruby-fs-stack-0.4.3 lib/ruby-fs-stack/fs_utils.rb
ruby-fs-stack-0.4.2 lib/ruby-fs-stack/fs_utils.rb
ruby-fs-stack-0.4.0 lib/ruby-fs-stack/fs_utils.rb
ruby-fs-stack-0.3.3 lib/ruby-fs-stack/fs_utils.rb
ruby-fs-stack-0.3.2 lib/ruby-fs-stack/fs_utils.rb