A principled Postgres HStore parser/deparser for Ruby.
Ruby
Pull request Compare This branch is 26 commits ahead of pvh:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
spec
.gitignore
CHANGELOG breaking change - string keys are now default Jul 24, 2013
Gemfile
LICENSE
README.md
pg-hstore.gemspec

README.md

pg-hstore

The gem is called pg-hstore, but you should require pg_hstore (sorry):

>> require 'pg_hstore'
=> true

Dump a hash to an hstore string:

>> hstore = PgHstore.dump(hello: %{world, you're "GREAT!"})
=> "'\"hello\" => \"world, you''re \\\"GREAT!\\\"\"'"

Load an hstore string into a hash:

>> hash = PgHstore.load(hstore)
=> {:hello=>"world, you're \"GREAT!\""}

Dump a hash for use as a bind parameter/variable (i.e., we won't be needing single quotes):

>> hstore = PgHstore.dump({hello: %{world, you're "GREAT!"}}, true)
=> "\"hello\" => \"world, you're \\\"GREAT!\\\"\""

Load an hstore string but don't symbolize keys:

>> hash = PgHstore.load(hstore, false)
=> {"hello"=>"world, you're \"GREAT!\""}

Authors

Copyright

Copyright (c) 2013 the authors. See LICENSE for details.