Rails URI/URL cheatsheet

Extract params from a URI

url = "https://example.com/users?sort=asc&status[]=active&status[]=init"

uri = URI.parse(url)
#=> #<URI::HTTPS https://example.com/users?sort=asc&status=active&status=init>

uri.scheme
#=> https

uri.host
#=> example.com

uri.path
#=> /users

Rack::Utils.parse_nested_query(uri.query)
#=> {"sort"=>"asc", "status"=>["active", "init"]}

Build a query

uri = URI.parse("https://example.com/users")
query = Rack::Utils.build_nested_query({sort: :asc, status: [:active, :init]})
url = uri.to_s  + '?' + query
#=> https://example.com/users?sort=asc&status[]=active&status[]=init

Gem
Gem: https://github.com/sporkmonger/addressable