Class: DataMapper::Property::PgHStore

Inherits:
Object
  • Object
show all
Defined in:
lib/dm-postgres-types/property/pg_hstore.rb

Instance Method Summary collapse

Instance Method Details

#dump(value) ⇒ Object



18
19
20
21
# File 'lib/dm-postgres-types/property/pg_hstore.rb', line 18

def dump(value)
  return "" unless value
  value.map { |key, val| %Q{"#{key.to_s}"=>"#{escape_nil(val)}"} }.join(", ")
end

#load(value) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/dm-postgres-types/property/pg_hstore.rb', line 8

def load(value)
  return nil unless value
  values = value.split(", ")
  values.map! do |val|
    k, v = val.split("=>")
    [unescape_double_quote(k),unescape_double_quote(unescape_nil(v))]
  end
  Hash[*(values.flatten)]
end