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
- .decode_uri_component(value) ⇒ Object
-
.encode_uri_component(value) ⇒ Object
JS ‘encodeURIComponent`: percent-encode everything except `A-Za-z0-9 - _ .
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 |