Changeset 229
- Timestamp:
- 09/26/2007 17:54:09 (14 months ago)
- Location:
- trunk/lib
- Files:
-
- 2 modified
-
camping-unabridged.rb (modified) (1 diff)
-
camping.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/camping-unabridged.rb
r224 r229 620 620 def qsp(q, d='&;', y=nil, z=H[]) 621 621 m = proc {|_,o,n|o.u(n,&m)rescue([*o]<<n)} 622 q.to_s.623 split(/[#{d}]+ */n).624 inject((b,z=z,H[])[0]) { |h,p|k, v=un(p).split('=',2)622 (q.to_s.split(/[#{d}]+ */n) - [""]). 623 inject((b,z=z,H[])[0]) { |h,p| 624 k, v=un(p).split('=',2) 625 625 h.u(k.split(/[\]\[]+/).reverse. 626 626 inject(y||v) { |x,i| H[i,x] },&m) -
trunk/lib/camping.rb
r224 r229 40 40 /[^ \w.-]+/n){'%'+($&.unpack('H2'*$&.size)*'%').upcase}.tr(' ','+')end;def un s 41 41 s.tr('+',' ').gsub(/%([\da-f]{2})/in){[$1].pack('H*')}end;def qsp q,d='&;',y= 42 nil,z=H[];m=proc{|_,o,n|o.u(n,&m)rescue([*o]<<n)}; q.to_s.split(/[#{d}]+ */n).42 nil,z=H[];m=proc{|_,o,n|o.u(n,&m)rescue([*o]<<n)};(q.to_s.split(/[#{d}]+ */n)-['']). 43 43 inject((b,z=z,H[])[0]){|h,p|k,v=un(p).split('=',2);h.u k.split(/[\]\[]+/). 44 44 reverse.inject(y||v){|x,i|H[i,x]},&m}end;def kp s;c=qsp(s,';,')end;def
