wovnrb 0.2.30 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|