Sha256: 96a12a0257362e5e59379e85ba4309b58317411d4288614c3aa1c5eb1e982b39

Contents?: true

Size: 1.19 KB

Versions: 3

Compression:

Stored size: 1.19 KB

Contents

autoload(:CGI, 'cgi') # in case you want to use html_unescape

module Innate

  # Shortcuts to some CGI methods

  module Helper
    module CGI
      module_function

      # Shortcut for Rack::Utils.escape
      #
      # @param [#to_s] input
      # @return [String] URI-encoded representation of +input+
      def url_encode(input)
        Rack::Utils.escape(input.to_s)
      end
      alias u url_encode

      # Shortcut for Rack::Utils.unescape
      #
      # @param [#to_s] input
      # @return [String] URI-decoded representation of +input+
      def url_decode(input)
        Rack::Utils.unescape(input.to_s)
      end

      # Shortcut for Rack::Utils.escape_html
      #
      # @param [#to_s] input
      # @return [String]
      def html_escape(input)
        Rack::Utils.escape_html(input.to_s)
      end

      # Shortcut for CGI.unescapeHTML
      #
      # @param [#to_s] input
      # @return [String]
      def html_unescape(input)
        ::CGI.unescapeHTML(input.to_s)
      end

      # safely escape all HTML and code
      def html_and_code_escape(input)
        Rack::Utils.escape_html(input.to_s).gsub(/#([{@$]@?)/, '#\1')
      end
      alias h html_and_code_escape
    end
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
manveru-innate-2009.04.08 lib/innate/helper/cgi.rb
manveru-innate-2009.04.18 lib/innate/helper/cgi.rb
innate-2009.04.12 lib/innate/helper/cgi.rb