aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters
diff options
context:
space:
mode:
authorjlxw <jason@jeyel.com>2013-02-05 16:49:33 +0800
committerRafael Mendonça França <rafaelmfranca@gmail.com>2013-03-23 19:00:37 -0300
commit2c9304891ef264409980abfac499f698876744d0 (patch)
treee3ffaf01e98e8956c2ab6341fa7d5fb6fafb8229 /activerecord/lib/active_record/connection_adapters
parentbad0b81a0736cd81f36541cff47d51a1b0e44fda (diff)
downloadrails-2c9304891ef264409980abfac499f698876744d0.tar.gz
rails-2c9304891ef264409980abfac499f698876744d0.tar.bz2
rails-2c9304891ef264409980abfac499f698876744d0.zip
Fix regex to strip quotations from hstore values
Previously regex did not strip quotation marks where hstore values were multi-line strings.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters')
-rw-r--r--activerecord/lib/active_record/connection_adapters/postgresql/cast.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql/cast.rb b/activerecord/lib/active_record/connection_adapters/postgresql/cast.rb
index 3d8f0b575c..fcbd8fd88a 100644
--- a/activerecord/lib/active_record/connection_adapters/postgresql/cast.rb
+++ b/activerecord/lib/active_record/connection_adapters/postgresql/cast.rb
@@ -30,8 +30,8 @@ module ActiveRecord
nil
elsif String === string
Hash[string.scan(HstorePair).map { |k,v|
- v = v.upcase == 'NULL' ? nil : v.gsub(/^"(.*)"$/,'\1').gsub(/\\(.)/, '\1')
- k = k.gsub(/^"(.*)"$/,'\1').gsub(/\\(.)/, '\1')
+ v = v.upcase == 'NULL' ? nil : v.gsub(/\A"(.*)"\Z/m,'\1').gsub(/\\(.)/, '\1')
+ k = k.gsub(/\A"(.*)"\Z/m,'\1').gsub(/\\(.)/, '\1')
[k,v]
}]
else