class Ciphr::Functions::URL::UrlEncoding

TODO: differentiate between URL and CGI encoding (with '+' char)

Public Class Methods

params() click to toggle source
# File lib/ciphr/functions/url.rb, line 34
def self.params 
  [:input]
end
variants() click to toggle source
# File lib/ciphr/functions/url.rb, line 28
def self.variants
  [
    [['url','uri','cgi'],{}]
  ]
end

Public Instance Methods

apply() click to toggle source
# File lib/ciphr/functions/url.rb, line 6
def apply
  input = @args[0]
  if !invert
    Proc.new do
      chunk = input.read(1)
      chunk && CGI.escape(chunk)
    end
  else
    Proc.new do
      chunk = input.read(1)
      if (chunk == "%")
        chunk += input.read(2)
        chunk && CGI.unescape(chunk)
      elsif chunk == '+'
        ' '
      else
        chunk
      end
    end
  end
end