class HexaPDF::Type::Actions::URI

See: PDF2.0 s12.6.4.8
Represents an URI action dictionary, mostly used for opening Internet pages.

def perform_validation #:nodoc:

:nodoc:
def perform_validation #:nodoc:
  super
  uri = self[:URI]
  if uri && !uri.ascii_only?
    yield("URIs have to contain ASCII characters only", true)
    uri = uri.dup.force_encoding(Encoding::BINARY)
    uri.encode!(Encoding::US_ASCII, fallback: lambda {|c| "%#{c.ord.to_s(16).upcase}" })
    self[:URI] = uri
  end
end