richurls 0.5.5 → 0.5.6
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/Gemfile.lock +2 -2
- data/lib/url_helper.rb +16 -18
- data/richurls.gemspec +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: db4d6b2a40debb931cb10f2ff022d85743502f486b316f1046837a28d99275c4
         | 
| 4 | 
            +
              data.tar.gz: 7ab58ccab0303530fe78c23d33f8e9b58c27131f41267df2428e7a1a4ab1ca18
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: e45af9667708ee4e787dba1b01da0a341557eac3c76f7ad2cea685282de862b6fdcb6e178365064514ced571bd79133205a393416e27d8eb71cd9bbb010741fb
         | 
| 7 | 
            +
              data.tar.gz: fbc11283743e3198bb60469d7c592aac515134f18ce13937b9d804b8fb12ecde82e2dc81224ae81af1933fbc6ab7e402a66a02d07a2f084d6e4364d562785818
         | 
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                richurls (0.5. | 
| 4 | 
            +
                richurls (0.5.6)
         | 
| 5 5 | 
             
                  addressable (~> 2)
         | 
| 6 6 | 
             
                  oj (~> 3)
         | 
| 7 7 | 
             
                  ox (~> 2)
         | 
| @@ -21,7 +21,7 @@ GEM | |
| 21 21 | 
             
                parser (2.7.1.1)
         | 
| 22 22 | 
             
                  ast (~> 2.4.0)
         | 
| 23 23 | 
             
                patron (0.13.3)
         | 
| 24 | 
            -
                public_suffix (4.0. | 
| 24 | 
            +
                public_suffix (4.0.5)
         | 
| 25 25 | 
             
                rainbow (3.0.0)
         | 
| 26 26 | 
             
                redis (4.1.4)
         | 
| 27 27 | 
             
                rexml (3.2.4)
         | 
    
        data/lib/url_helper.rb
    CHANGED
    
    | @@ -9,34 +9,32 @@ class UrlHelper | |
| 9 9 |  | 
| 10 10 | 
             
              def initialize(domain, url)
         | 
| 11 11 | 
             
                @domain = domain
         | 
| 12 | 
            -
             | 
| 13 | 
            -
                # In some rare cases it appears to be that URL's are ending with a
         | 
| 14 | 
            -
                # single whitespace character resulting in an invalid URL.
         | 
| 15 | 
            -
                @url = url&.strip
         | 
| 12 | 
            +
                @url = url
         | 
| 16 13 | 
             
              end
         | 
| 17 14 |  | 
| 18 15 | 
             
              def url
         | 
| 19 16 | 
             
                return if @url.nil?
         | 
| 20 | 
            -
                return Addressable::URI.escape(@url) if valid_url?
         | 
| 21 17 |  | 
| 22 | 
            -
                 | 
| 18 | 
            +
                parsed = Addressable::URI.parse(@url)
         | 
| 19 | 
            +
                full_url = valid?(parsed) ? parsed.to_s : domain_uri
         | 
| 20 | 
            +
                Addressable::URI.escape(full_url)
         | 
| 21 | 
            +
              rescue Addressable::URI::InvalidURIError
         | 
| 23 22 | 
             
              end
         | 
| 24 23 |  | 
| 25 24 | 
             
              private
         | 
| 26 25 |  | 
| 27 | 
            -
              def  | 
| 28 | 
            -
                 | 
| 29 | 
            -
                base = domain_uri.scheme + '://' + domain_uri.host
         | 
| 30 | 
            -
                escaped_url = Addressable::URI.escape(@url)
         | 
| 31 | 
            -
             | 
| 32 | 
            -
                if @url.start_with?('/')
         | 
| 33 | 
            -
                  base + escaped_url
         | 
| 34 | 
            -
                else
         | 
| 35 | 
            -
                  base + domain_uri.path + '/' + escaped_url
         | 
| 36 | 
            -
                end
         | 
| 26 | 
            +
              def valid?(parsed)
         | 
| 27 | 
            +
                parsed.host && (parsed.scheme || @url.start_with?('//'))
         | 
| 37 28 | 
             
              end
         | 
| 38 29 |  | 
| 39 | 
            -
              def  | 
| 40 | 
            -
                 | 
| 30 | 
            +
              def domain_uri
         | 
| 31 | 
            +
                domain = Addressable::URI.parse(@domain)
         | 
| 32 | 
            +
                domain.query = nil
         | 
| 33 | 
            +
                domain.path = if @url.start_with?('/')
         | 
| 34 | 
            +
                                @url
         | 
| 35 | 
            +
                              else
         | 
| 36 | 
            +
                                domain.path + '/' + @url
         | 
| 37 | 
            +
                              end
         | 
| 38 | 
            +
                domain.to_s
         | 
| 41 39 | 
             
              end
         | 
| 42 40 | 
             
            end
         | 
    
        data/richurls.gemspec
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: richurls
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.5. | 
| 4 | 
            +
              version: 0.5.6
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - grdw
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2020-05- | 
| 11 | 
            +
            date: 2020-05-11 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: addressable
         |