Method: When::Parts::Resource._encode

Defined in:
lib/when_exe/parts/resource.rb

._encode(iri) ⇒ Object



400
401
402
403
404
405
406
407
408
409
410
411
412
# File 'lib/when_exe/parts/resource.rb', line 400

def _encode(iri)
  return iri unless iri =~ /\(/

  iri = iri.dup
  begin
    unless iri.gsub!(/\([^()]*\)/) {|token|
      token.gsub(/[():?&%]/) {|char|'%' + char.ord.to_s(16)}
    }
      raise ArgumentError, 'Brackets do not correspond: ' + iri 
    end
  end while iri =~ /\(/
  iri
end