Method: Sequel::Postgres::PGRow::Splitter#parse
- Defined in:
- lib/sequel/extensions/pg_row.rb
#parse ⇒ Object
Split the stored string into an array of strings, handling the different types of quoting.
244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 |
# File 'lib/sequel/extensions/pg_row.rb', line 244 def parse values = [] skip(/\(/) if skip(/\)/) values << nil else # :nocov: until eos? # :nocov: if skip(/"/) values << scan(/(\\.|""|[^"])*/).gsub(/\\(.)|"(")/, '\1\2') skip(/"[,)]/) else v = scan(/[^,)]*/) values << (v unless v.empty?) skip(/[,)]/) end end end values end |