str_sanitizer 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/CHANGELOG.md +5 -0
 - data/Gemfile +2 -0
 - data/README.md +39 -24
 - data/lib/str_sanitizer.rb +4 -0
 - data/lib/str_sanitizer/html_entities.rb +46 -0
 - data/lib/str_sanitizer/version.rb +1 -1
 - metadata +4 -3
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: a7169e8b75393511b739ab251507841b7450a151
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 3e7db2ddbfe1be726fd98595e7888ee9e90128b6
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 520ef5564f072087346b5efb995cbbdf0c3f8d0cff7032ddd723f3d0b6b0c5dd0b3354c156424c52f9e04b68e819b7a376f51fdc636a5d48ce50e6d42a59edb9
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 91425bcd578d61ffeee7a11a2264df1c2f04294655c404abf97bea5bb07b5d380d2cde793ec53287706dce0db806d2813c2751ae5095ebbde81610dc7f68b54b
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -1,3 +1,8 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ## StrSanitizer 0.3.0 (August 21, 2017) ##
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            * Added a new `HtmlEntities` module which encodes and decodes HTML Entities.
         
     | 
| 
      
 4 
     | 
    
         
            +
            * A new dependency named `htmlentities`.
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
       1 
6 
     | 
    
         
             
            ## StrSanitizer 0.2.0 (August 09, 2017) ##
         
     | 
| 
       2 
7 
     | 
    
         | 
| 
       3 
8 
     | 
    
         
             
            * Changed the structure of the module in `lib/str_sanitizer/quotes.rb` file. Removed the `InstanceMethods` module and `included` class method of `Quotes` module. Remove the `ClassMethods` class too from `Quotes` module. Re-structured the whole module.
         
     | 
    
        data/Gemfile
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | 
         @@ -1,4 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            [](https://badge.fury.io/rb/str_sanitizer)
         
     | 
| 
      
 2 
     | 
    
         
            +
            [](https://travis-ci.org/JakariaBlaine/str_sanitizer)
         
     | 
| 
       2 
3 
     | 
    
         
             
            # StrSanitizer
         
     | 
| 
       3 
4 
     | 
    
         | 
| 
       4 
5 
     | 
    
         
             
            Welcome to this gem. This gem is about String Sanitization. This gem sanitizes the string which is given.
         
     | 
| 
         @@ -23,30 +24,44 @@ Or install it yourself as: 
     | 
|
| 
       23 
24 
     | 
    
         
             
            ## Usage
         
     | 
| 
       24 
25 
     | 
    
         | 
| 
       25 
26 
     | 
    
         
             
            - To escape quotes of a string
         
     | 
| 
       26 
     | 
    
         
            -
            ```ruby
         
     | 
| 
       27 
     | 
    
         
            -
            require "str_sanitizer"
         
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
            hello = 'He said, "Hello!"'
         
     | 
| 
       30 
     | 
    
         
            -
            StrSanitizer.double_quote(hello) # => He said, \"Hello!\" 
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
            hello = "She said, 'Hello!'"
         
     | 
| 
       33 
     | 
    
         
            -
            StrSanitizer.single_quote(hello) # => She said, \'Hello!\'
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
            both_quotes = "They said, \"Don't do it!\""
         
     | 
| 
       36 
     | 
    
         
            -
            StrSanitizer.both_quotes(both_quotes) # => They said, \"Don\'t do it!\"
         
     | 
| 
       37 
     | 
    
         
            -
            ```
         
     | 
| 
       38 
     | 
    
         
            -
            You can also check if the string has any quote or not
         
     | 
| 
       39 
     | 
    
         
            -
            ```ruby
         
     | 
| 
       40 
     | 
    
         
            -
            no_quote = "Hello, there."
         
     | 
| 
       41 
     | 
    
         
            -
            single_quote = "It's going down."
         
     | 
| 
       42 
     | 
    
         
            -
            double_quote = "He said, \"Hello\""
         
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
            StrSanitizer.has_any_quote?(no_quote) # => nil
         
     | 
| 
       45 
     | 
    
         
            -
            StrSanitizer.has_both_quotes?(no_quote) # => nil
         
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
            StrSanitizer.has_single_quotes?(single_quote) # => true
         
     | 
| 
       48 
     | 
    
         
            -
            StrSanitizer.has_double_quotes?(double_quote) # => true
         
     | 
| 
       49 
     | 
    
         
            -
            ```
         
     | 
| 
      
 27 
     | 
    
         
            +
              ```ruby
         
     | 
| 
      
 28 
     | 
    
         
            +
              require "str_sanitizer"
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
              hello = 'He said, "Hello!"'
         
     | 
| 
      
 31 
     | 
    
         
            +
              StrSanitizer.double_quote(hello) # => He said, \"Hello!\" 
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
              hello = "She said, 'Hello!'"
         
     | 
| 
      
 34 
     | 
    
         
            +
              StrSanitizer.single_quote(hello) # => She said, \'Hello!\'
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
              both_quotes = "They said, \"Don't do it!\""
         
     | 
| 
      
 37 
     | 
    
         
            +
              StrSanitizer.both_quotes(both_quotes) # => They said, \"Don\'t do it!\"
         
     | 
| 
      
 38 
     | 
    
         
            +
              ```
         
     | 
| 
      
 39 
     | 
    
         
            +
              You can also check if the string has any quote or not
         
     | 
| 
      
 40 
     | 
    
         
            +
              ```ruby
         
     | 
| 
      
 41 
     | 
    
         
            +
              no_quote = "Hello, there."
         
     | 
| 
      
 42 
     | 
    
         
            +
              single_quote = "It's going down."
         
     | 
| 
      
 43 
     | 
    
         
            +
              double_quote = "He said, \"Hello\""
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
              StrSanitizer.has_any_quote?(no_quote) # => nil
         
     | 
| 
      
 46 
     | 
    
         
            +
              StrSanitizer.has_both_quotes?(no_quote) # => nil
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
              StrSanitizer.has_single_quotes?(single_quote) # => true
         
     | 
| 
      
 49 
     | 
    
         
            +
              StrSanitizer.has_double_quotes?(double_quote) # => true
         
     | 
| 
      
 50 
     | 
    
         
            +
              ```
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
            - To sanitize HTML Entities of a string
         
     | 
| 
      
 53 
     | 
    
         
            +
              ```ruby
         
     | 
| 
      
 54 
     | 
    
         
            +
              string = "<script>alert('Hola!!!')</script>"
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
              StrSanitizer.html_encode(string) # => <script>alert('Hola!!!')<script>
         
     | 
| 
      
 57 
     | 
    
         
            +
              ```
         
     | 
| 
      
 58 
     | 
    
         
            +
              You can also decode the a string with encoded HTML entities
         
     | 
| 
      
 59 
     | 
    
         
            +
              ```ruby
         
     | 
| 
      
 60 
     | 
    
         
            +
              string = "<script>alert('Hola!!!')<script>"
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
              StrSanitizer.html_decode(string) # => <script>alert('Hola!!!')</script>
         
     | 
| 
      
 63 
     | 
    
         
            +
              ```
         
     | 
| 
      
 64 
     | 
    
         
            +
              Note: `htmlentities` was used for encoding and decoding process
         
     | 
| 
       50 
65 
     | 
    
         | 
| 
       51 
66 
     | 
    
         
             
            ## Development
         
     | 
| 
       52 
67 
     | 
    
         | 
    
        data/lib/str_sanitizer.rb
    CHANGED
    
    | 
         @@ -22,7 +22,11 @@ 
     | 
|
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
            require "str_sanitizer/version"
         
     | 
| 
       24 
24 
     | 
    
         
             
            require "str_sanitizer/quotes"
         
     | 
| 
      
 25 
     | 
    
         
            +
            require "str_sanitizer/html_entities"
         
     | 
| 
       25 
26 
     | 
    
         | 
| 
      
 27 
     | 
    
         
            +
            # Author:     Jakaria (mailto: jakariablaine120@gmail.com)
         
     | 
| 
      
 28 
     | 
    
         
            +
            # Copyright:  Copyright (c) 2017 Jakaria
         
     | 
| 
       26 
29 
     | 
    
         
             
            class StrSanitizer
         
     | 
| 
       27 
30 
     | 
    
         
             
              extend Quotes
         
     | 
| 
      
 31 
     | 
    
         
            +
              extend HtmlEntities
         
     | 
| 
       28 
32 
     | 
    
         
             
            end
         
     | 
| 
         @@ -0,0 +1,46 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'htmlentities'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            class StrSanitizer
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              # This modules encodes and decodes HTML Entities of a string
         
     | 
| 
      
 6 
     | 
    
         
            +
              #
         
     | 
| 
      
 7 
     | 
    
         
            +
              # Author:     Jakaria (mailto: jakariablaine120@gmail.com)
         
     | 
| 
      
 8 
     | 
    
         
            +
              # Copyright:  Copyright (c) 2017 Jakaria
         
     | 
| 
      
 9 
     | 
    
         
            +
              module HtmlEntities
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                # Instantiate htmlentities class to use it for encoding and decoding html entities
         
     | 
| 
      
 12 
     | 
    
         
            +
                #
         
     | 
| 
      
 13 
     | 
    
         
            +
                # Params:
         
     | 
| 
      
 14 
     | 
    
         
            +
                # +none+
         
     | 
| 
      
 15 
     | 
    
         
            +
                def initizalize
         
     | 
| 
      
 16 
     | 
    
         
            +
                  @coder = HTMLEntities.new
         
     | 
| 
      
 17 
     | 
    
         
            +
                end
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                # Encodes the HTML entities of the given string
         
     | 
| 
      
 20 
     | 
    
         
            +
                #
         
     | 
| 
      
 21 
     | 
    
         
            +
                # Params:
         
     | 
| 
      
 22 
     | 
    
         
            +
                # +str+:: A +string+ which needs to be escaped from html entities
         
     | 
| 
      
 23 
     | 
    
         
            +
                # +options+:: Options for encoding. You can provide one or more than one option. 
         
     | 
| 
      
 24 
     | 
    
         
            +
                #             If no option is given, :basic option will be used by default.
         
     | 
| 
      
 25 
     | 
    
         
            +
                #             Options available :basic, :named, :decimal, :hexadecimal
         
     | 
| 
      
 26 
     | 
    
         
            +
                #
         
     | 
| 
      
 27 
     | 
    
         
            +
                # Returns:
         
     | 
| 
      
 28 
     | 
    
         
            +
                # +string+:: An HTML entities escaped +string+
         
     | 
| 
      
 29 
     | 
    
         
            +
                def html_encode(string, *options)
         
     | 
| 
      
 30 
     | 
    
         
            +
                  @coder = HTMLEntities.new
         
     | 
| 
      
 31 
     | 
    
         
            +
                  @coder.encode(string, *options)
         
     | 
| 
      
 32 
     | 
    
         
            +
                end
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                # Decodes the HTML entities of the given string
         
     | 
| 
      
 35 
     | 
    
         
            +
                #
         
     | 
| 
      
 36 
     | 
    
         
            +
                # Params:
         
     | 
| 
      
 37 
     | 
    
         
            +
                # +str+:: A +string+ which needs to be decoded to html entities
         
     | 
| 
      
 38 
     | 
    
         
            +
                #
         
     | 
| 
      
 39 
     | 
    
         
            +
                # Returns:
         
     | 
| 
      
 40 
     | 
    
         
            +
                # +string+:: A string with decoded HTML entities +string+
         
     | 
| 
      
 41 
     | 
    
         
            +
                def html_decode(string)
         
     | 
| 
      
 42 
     | 
    
         
            +
                  @coder = HTMLEntities.new
         
     | 
| 
      
 43 
     | 
    
         
            +
                  @coder.decode(string)
         
     | 
| 
      
 44 
     | 
    
         
            +
                end
         
     | 
| 
      
 45 
     | 
    
         
            +
              end
         
     | 
| 
      
 46 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: str_sanitizer
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.3.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Jakaria Blaine
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2017-08- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2017-08-21 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: bundler
         
     | 
| 
         @@ -71,6 +71,7 @@ files: 
     | 
|
| 
       71 
71 
     | 
    
         
             
            - bin/console
         
     | 
| 
       72 
72 
     | 
    
         
             
            - bin/setup
         
     | 
| 
       73 
73 
     | 
    
         
             
            - lib/str_sanitizer.rb
         
     | 
| 
      
 74 
     | 
    
         
            +
            - lib/str_sanitizer/html_entities.rb
         
     | 
| 
       74 
75 
     | 
    
         
             
            - lib/str_sanitizer/quotes.rb
         
     | 
| 
       75 
76 
     | 
    
         
             
            - lib/str_sanitizer/version.rb
         
     | 
| 
       76 
77 
     | 
    
         
             
            - str_sanitizer.gemspec
         
     | 
| 
         @@ -94,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       94 
95 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       95 
96 
     | 
    
         
             
            requirements: []
         
     | 
| 
       96 
97 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       97 
     | 
    
         
            -
            rubygems_version: 2.5. 
     | 
| 
      
 98 
     | 
    
         
            +
            rubygems_version: 2.5.2
         
     | 
| 
       98 
99 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       99 
100 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       100 
101 
     | 
    
         
             
            summary: This gem sanitizes the given string
         
     |