Changeset 1173
- Timestamp:
- 01/05/08 16:55:05 (11 months ago)
- Files:
-
- trunk/lib/merb/mailer.rb (modified) (1 diff)
- trunk/lib/merb/mixins/general_controller.rb (modified) (2 diffs)
- trunk/lib/merb/request.rb (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/merb/mailer.rb
r1045 r1173 26 26 # or 27 27 # 28 # Merb::Mailer.config = {:sendmail_path => '/somewhere/odd' )28 # Merb::Mailer.config = {:sendmail_path => '/somewhere/odd'} 29 29 # Merb::Mailer.delivery_method = :sendmail 30 30 # trunk/lib/merb/mixins/general_controller.rb
r1142 r1173 226 226 alias html_escape escape_xml 227 227 228 # Escapes +s+ for use in a URL.229 #230 # ==== Parameter231 #232 # +s+ - String to URL escape.233 #234 228 def escape(s) 235 s.to_s.gsub(/([^ a-zA-Z0-9_.-]+)/n) { 236 '%'+$1.unpack('H2'*$1.size).join('%').upcase 237 }.tr(' ', '+') 238 end 239 229 ::Merb::Request.escape(s) 230 end 231 240 232 # Unescapes a string (i.e., reverse URL escaping). 241 233 # … … 245 237 # 246 238 def unescape(s) 247 s.tr('+', ' ').gsub(/((?:%[0-9a-fA-F]{2})+)/n){ 248 [$1.delete('%')].pack('H*') 249 } 250 end 239 ::Merb::Request.unescape(s) 240 end 241 251 242 252 243 private trunk/lib/merb/request.rb
r1104 r1173 329 329 330 330 class << self 331 # Escapes +s+ for use in a URL. 332 # 333 # ==== Parameter 334 # 335 # +s+ - String to URL escape. 336 # 337 def escape(s) 338 s.to_s.gsub(/([^ a-zA-Z0-9_.-]+)/n) { 339 '%'+$1.unpack('H2'*$1.size).join('%').upcase 340 }.tr(' ', '+') 341 end 342 343 # Unescapes a string (i.e., reverse URL escaping). 344 # 345 # ==== Parameter 346 # 347 # +s+ - String to unescape. 348 # 349 def unescape(s) 350 s.tr('+', ' ').gsub(/((?:%[0-9a-fA-F]{2})+)/n){ 351 [$1.delete('%')].pack('H*') 352 } 353 end 354 331 355 # parses a query string or the payload of a POST 332 356 # request into the params hash. So for example: … … 336 360 def query_parse(qs, d = '&;') 337 361 (qs||'').split(/[#{d}] */n).inject({}) { |h,p| 338 normalize_params(h, * Mongrel::HttpRequest.unescape(p).split('=',2))362 normalize_params(h, *unescape(p).split('=',2)) 339 363 }.to_mash 340 364 end
