wovnrb 0.2.30 → 1.0.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/.travis.yml +8 -5
- data/circle.yml +0 -5
- data/lib/wovnrb/lang.rb +9 -2
- data/lib/wovnrb/store.rb +7 -2
- data/lib/wovnrb/version.rb +1 -1
- data/test/lib/lang_test.rb +10 -0
- data/wovnrb.gemspec +2 -1
- metadata +21 -6
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: f18e9f78a0a42c2249870011353adc16baf05eed
         | 
| 4 | 
            +
              data.tar.gz: 2d5d4fa65d4d5304e664ba8184744090b3a77e43
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 2088f60ce143c7ce93f1945a679d845aa2f6f0597b26489a34980158e9e9a1c9cd39f1a815743014cf0a0bb0eba2e7d80afc1477c7e00f4969f9b2f1cbca5820
         | 
| 7 | 
            +
              data.tar.gz: 327a2f82d56db2dbbec8e16298f99e1b6d62bdf0dafade734edf43d4fe34c90f259a975491808b7a6b2ab5506aba4c526a7a660db383cbd7dfd877942497c234
         | 
    
        data/.travis.yml
    CHANGED
    
    | @@ -1,11 +1,14 @@ | |
| 1 1 | 
             
            language: ruby
         | 
| 2 2 | 
             
            cache: bundler
         | 
| 3 3 | 
             
            rvm:
         | 
| 4 | 
            -
               | 
| 5 | 
            -
               | 
| 6 | 
            -
               | 
| 4 | 
            +
              # Supported versions are
         | 
| 5 | 
            +
              # > Ruby version:2.2 or later
         | 
| 6 | 
            +
              # https://wovn.io/support/ruby-library/
         | 
| 7 | 
            +
              - 2.5.0
         | 
| 8 | 
            +
              - 2.4.3
         | 
| 9 | 
            +
              - 2.3.6
         | 
| 10 | 
            +
              - 2.2.9
         | 
| 11 | 
            +
              # There is no support for 2.1 officially, but test for now.
         | 
| 7 12 | 
             
              - 2.1.10
         | 
| 8 | 
            -
              - 2.0.0
         | 
| 9 | 
            -
              - 1.9.3
         | 
| 10 13 | 
             
            before_install:
         | 
| 11 14 | 
             
              - gem update bundler --no-document
         | 
    
        data/circle.yml
    CHANGED
    
    
    
        data/lib/wovnrb/lang.rb
    CHANGED
    
    | @@ -1,4 +1,7 @@ | |
| 1 1 | 
             
            # -*- encoding: UTF-8 -*-
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            require 'addressable'
         | 
| 4 | 
            +
             | 
| 2 5 | 
             
            module Wovnrb
         | 
| 3 6 | 
             
              class Lang
         | 
| 4 7 | 
             
                LANG = {
         | 
| @@ -177,8 +180,12 @@ module Wovnrb | |
| 177 180 | 
             
                  result = {}
         | 
| 178 181 | 
             
                  dom.xpath('//*[@href]').each do |a_tag|
         | 
| 179 182 | 
             
                    url = a_tag['href']
         | 
| 180 | 
            -
                     | 
| 181 | 
            -
             | 
| 183 | 
            +
                    begin
         | 
| 184 | 
            +
                      encoded_url = Addressable::URI.parse(url).normalize.to_s
         | 
| 185 | 
            +
                      result[encoded_url] = url if encoded_url != url
         | 
| 186 | 
            +
                    rescue Addressable::URI::InvalidURIError => e
         | 
| 187 | 
            +
                      WovnLogger.instance.error("Failed parse url : #{url}#{e.message}")
         | 
| 188 | 
            +
                    end
         | 
| 182 189 | 
             
                  end
         | 
| 183 190 | 
             
                  result
         | 
| 184 191 | 
             
                end
         | 
    
        data/lib/wovnrb/store.rb
    CHANGED
    
    | @@ -161,7 +161,7 @@ module Wovnrb | |
| 161 161 | 
             
                  end
         | 
| 162 162 |  | 
| 163 163 | 
             
                  if @settings.has_key?('custom_lang_aliases')
         | 
| 164 | 
            -
                    @settings['custom_lang_aliases'] | 
| 164 | 
            +
                    stringify_keys! @settings['custom_lang_aliases']
         | 
| 165 165 | 
             
                  end
         | 
| 166 166 |  | 
| 167 167 | 
             
                  if wovn_dev_mode? && @settings['api_url'] == Store.default_settings['api_url']
         | 
| @@ -188,6 +188,11 @@ module Wovnrb | |
| 188 188 | 
             
                def cleanSettings
         | 
| 189 189 | 
             
                  @settings['ignore_globs'] = []
         | 
| 190 190 | 
             
                end
         | 
| 191 | 
            -
              end
         | 
| 192 191 |  | 
| 192 | 
            +
                def stringify_keys!(h)
         | 
| 193 | 
            +
                  h.keys.each do |k|
         | 
| 194 | 
            +
                    h[k.to_s] = h.delete(k)
         | 
| 195 | 
            +
                  end
         | 
| 196 | 
            +
                end
         | 
| 197 | 
            +
              end
         | 
| 193 198 | 
             
            end
         | 
    
        data/lib/wovnrb/version.rb
    CHANGED
    
    
    
        data/test/lib/lang_test.rb
    CHANGED
    
    | @@ -611,5 +611,15 @@ module Wovnrb | |
| 611 611 | 
             
                  assert(swapped_body.include?('<a href="http://page.com/ja/#DnE897">decoded invalid path</a>'))
         | 
| 612 612 | 
             
                  assert(swapped_body.include?('<a href="http://page.com/ja/%23DnE897">encoded invalid path</a>'))
         | 
| 613 613 | 
             
                end
         | 
| 614 | 
            +
             | 
| 615 | 
            +
                def test_switch_dom_lang_with_invalid_link
         | 
| 616 | 
            +
                  lang = Lang.new('en')
         | 
| 617 | 
            +
                  header = Wovnrb::Headers.new(Wovnrb.get_env('url' => 'http://page.com'), Wovnrb.get_settings)
         | 
| 618 | 
            +
                  html = '<a href="※ http://invalid.example.com">無効なリンク</a>'
         | 
| 619 | 
            +
                  dom = Wovnrb.to_dom(html)
         | 
| 620 | 
            +
                  url = header.url
         | 
| 621 | 
            +
                  swapped_body = lang.switch_dom_lang(dom, Store.instance, generate_values, url, header)
         | 
| 622 | 
            +
                  assert(swapped_body.include?('html'))
         | 
| 623 | 
            +
                end
         | 
| 614 624 | 
             
              end
         | 
| 615 625 | 
             
            end
         | 
    
        data/wovnrb.gemspec
    CHANGED
    
    | @@ -26,10 +26,11 @@ Gem::Specification.new do |spec| | |
| 26 26 | 
             
              #spec.extensions    = spec.files.grep(%r{/extconf\.rb$})
         | 
| 27 27 |  | 
| 28 28 | 
             
              spec.add_dependency "nokogumbo", ">= 1.3.0"
         | 
| 29 | 
            -
              spec.add_dependency "nokogiri", " | 
| 29 | 
            +
              spec.add_dependency "nokogiri", "~> 1.8.1"
         | 
| 30 30 | 
             
              spec.add_dependency "activesupport"
         | 
| 31 31 | 
             
              spec.add_dependency "lz4-ruby"
         | 
| 32 32 | 
             
              spec.add_dependency "rack"
         | 
| 33 | 
            +
              spec.add_dependency "addressable"
         | 
| 33 34 |  | 
| 34 35 | 
             
              spec.add_development_dependency "bundler", "~> 1.7"
         | 
| 35 36 | 
             
              spec.add_development_dependency "rake", "~> 10.0"
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: wovnrb
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 1.0.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Jeff Sandford
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2018- | 
| 12 | 
            +
            date: 2018-02-15 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: nokogumbo
         | 
| @@ -29,16 +29,16 @@ dependencies: | |
| 29 29 | 
             
              name: nokogiri
         | 
| 30 30 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 31 31 | 
             
                requirements:
         | 
| 32 | 
            -
                - - " | 
| 32 | 
            +
                - - "~>"
         | 
| 33 33 | 
             
                  - !ruby/object:Gem::Version
         | 
| 34 | 
            -
                    version:  | 
| 34 | 
            +
                    version: 1.8.1
         | 
| 35 35 | 
             
              type: :runtime
         | 
| 36 36 | 
             
              prerelease: false
         | 
| 37 37 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 38 38 | 
             
                requirements:
         | 
| 39 | 
            -
                - - " | 
| 39 | 
            +
                - - "~>"
         | 
| 40 40 | 
             
                  - !ruby/object:Gem::Version
         | 
| 41 | 
            -
                    version:  | 
| 41 | 
            +
                    version: 1.8.1
         | 
| 42 42 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 43 43 | 
             
              name: activesupport
         | 
| 44 44 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -81,6 +81,20 @@ dependencies: | |
| 81 81 | 
             
                - - ">="
         | 
| 82 82 | 
             
                  - !ruby/object:Gem::Version
         | 
| 83 83 | 
             
                    version: '0'
         | 
| 84 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 85 | 
            +
              name: addressable
         | 
| 86 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 87 | 
            +
                requirements:
         | 
| 88 | 
            +
                - - ">="
         | 
| 89 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 90 | 
            +
                    version: '0'
         | 
| 91 | 
            +
              type: :runtime
         | 
| 92 | 
            +
              prerelease: false
         | 
| 93 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 94 | 
            +
                requirements:
         | 
| 95 | 
            +
                - - ">="
         | 
| 96 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 97 | 
            +
                    version: '0'
         | 
| 84 98 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 85 99 | 
             
              name: bundler
         | 
| 86 100 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -423,3 +437,4 @@ test_files: | |
| 423 437 | 
             
            - test/lib/wovnrb_test.rb
         | 
| 424 438 | 
             
            - test/services/url_test.rb
         | 
| 425 439 | 
             
            - test/test_helper.rb
         | 
| 440 | 
            +
            has_rdoc: 
         |