Method: When::Parts::Resource._decode
- Defined in:
- lib/when_exe/parts/resource.rb
._decode(iri) ⇒ Object
415 416 417 418 419 420 421 422 423 424 425 426 427 428 |
# File 'lib/when_exe/parts/resource.rb', line 415 def _decode(iri) return iri unless iri =~ /%28/ iri = iri.dup begin unless iri.gsub!(/%28.*?%29/) {|token| token.gsub(/%([\dA-F]{2})/i) {$1.to_i(16).chr} } raise ArgumentError, 'Brackets do not correspond: ' + iri end end while iri =~ /%28/ iri = $1 if iri =~ /\A\((.*)\)\z/ iri end |