Module: Dommy::Internal::GlobalFunctions

Defined in:
lib/dommy/internal/global_functions.rb

Overview

Stateless global functions exposed on the JS global (Window) that don’t depend on any window state. Kept here so Window doesn’t carry the cgi/erb dependency just for URI component encoding.

Class Method Summary collapse

Class Method Details

.decode_uri_component(value) ⇒ Object



21
22
23
# File 'lib/dommy/internal/global_functions.rb', line 21

def decode_uri_component(value)
  CGI.unescape(value.to_s)
end

.encode_uri_component(value) ⇒ Object

JS ‘encodeURIComponent`: percent-encode everything except `A-Za-z0-9 - _ . ! ~ * ’ ( )‘. `ERB::Util.url_encode` matches this, unlike `CGI.escape` (which uses `+` for space).



17
18
19
# File 'lib/dommy/internal/global_functions.rb', line 17

def encode_uri_component(value)
  ERB::Util.url_encode(value.to_s)
end