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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 281a617c58ff1f8bd8c980da4118584c1aeb450d
4
- data.tar.gz: 460e1c111d39d228c7414c79397397376f1e7211
3
+ metadata.gz: f18e9f78a0a42c2249870011353adc16baf05eed
4
+ data.tar.gz: 2d5d4fa65d4d5304e664ba8184744090b3a77e43
5
5
  SHA512:
6
- metadata.gz: f5d08a461de2b6ee699270bd8e2abb65260f234b5f9235ea9d562507d1c27b4219ce5fbcb7a6cac18aa0f6de28598d26561e656a4f2d57dcc885cb2ba1fe79c9
7
- data.tar.gz: e58d4bf0d44a99db8a66940bf7d025ca7ea8f6f8606e3e157356e34183c5f9e03952eb874a22179fd19b9dd59c43ef79139c7934d511d4aec4dd2c60e9ff3e76
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
- - 2.4.1
5
- - 2.3.4
6
- - 2.2.7
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
@@ -5,8 +5,3 @@ machine:
5
5
  test:
6
6
  override:
7
7
  - bundle exec rake test
8
- # check that no crash occurs with earlier version of nokogiri
9
- - echo "gem 'nokogiri', '1.6.1'" >> Gemfile
10
- - bundle update nokogiri
11
- - bundle exec rake test
12
-
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
- encoded_url = Addressable::URI.parse(url).normalize.to_s
181
- result[encoded_url] = url if encoded_url != url
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'].stringify_keys!
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
@@ -1,3 +1,3 @@
1
1
  module Wovnrb
2
- VERSION = "0.2.30"
2
+ VERSION = "1.0.0"
3
3
  end
@@ -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", "<= 1.8"
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.2.30
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-01-11 00:00:00.000000000 Z
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: '1.8'
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: '1.8'
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: