Sample code for 30+ languages & platforms
Ruby

Keeping Query Params in a Hashtable

Demonstrates how to use a Chilkat Hashtable to hold query params and re-emit as a query param string.

Note: The ToQueryString method was added in Chilkat v9.5.0.92.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

ht = Chilkat::CkHashtable.new()

# Add name/value pairs from an existing query param string where the values are already URL encoded.
qp = "txt=this%20is%20a%20test&color=blue&fruits=apples%26oranges"
success = ht.AddQueryParams(qp)

# Add some additional name/value pairs.
ht.AddStr("name","Jack Sparrow")
ht.AddStr("movie","Pirates of the Carribean")

# Iterate over the hash table to show what we have..

keys = Chilkat::CkStringTable.new()
ht.GetKeys(keys)
numKeys = keys.get_Count()

i = 0
while i < numKeys
    key = keys.stringAt(i)
    val = ht.lookupStr(key)
    print key + " = " + val + "\n";
    i = i + 1
end

# Output for the above loop:

# color = blue
# name = Jack Sparrow
# fruits = apples&oranges
# txt = this is a test
# movie = Pirates of the Carribean

# Get all name/value pairs as a query parm string with values URL encoded
qp = ht.toQueryString()
print qp + "\n";

# Result:
# color=blue&name=Jack%20Sparrow&fruits=apples%26oranges&txt=this%20is%20a%20test&movie=Pirates%20of%20the%20Carribean