wovnrb 3.3.1 → 3.6.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/.rubocop.yml +5 -0
- data/README.en.md +30 -13
- data/Rakefile +0 -1
- data/build.sh +7 -0
- data/docker/nginx/Dockerfile +18 -0
- data/docker/nginx/README.md +13 -0
- data/docker/nginx/build.sh +8 -0
- data/docker/nginx/scripts/configure_sshd.sh +25 -0
- data/docker/nginx/scripts/startup.sh +10 -0
- data/docker/nginx/wovnrb.conf +19 -0
- data/docker/rails/Dockerfile +9 -0
- data/docker/rails/Dockerfile.ECS +17 -0
- data/docker/rails/TestSite/Gemfile +0 -2
- data/docker/rails/TestSite/app/controllers/custom_response_controller.rb +1 -1
- data/docker/rails/TestSite/config/environments/development.rb +2 -0
- data/docker/rails/TestSite/config/environments/production.rb +2 -0
- data/docker/rails/TestSite/config/environments/test.rb +2 -0
- data/docker/rails/TestSite/public/index.html +1 -1
- data/docker/rails/TestSite/start.sh +2 -12
- data/docker/rails/TestSite/start_rails.sh +9 -0
- data/docker/rails/TestSite/yarn.lock +6 -6
- data/docker/scripts/jenkins/build.sh +45 -0
- data/docker/scripts/jenkins/tag_and_push_image.sh +30 -0
- data/docker/scripts/jenkins/taskdef.json +104 -0
- data/docker/scripts/jenkins/taskdef.json.bak +99 -0
- data/lib/wovnrb/api_translator.rb +19 -19
- data/lib/wovnrb/headers.rb +23 -6
- data/lib/wovnrb/helpers/nokogumbo_helper.rb +1 -1
- data/lib/wovnrb/lang.rb +3 -3
- data/lib/wovnrb/services/html_converter.rb +21 -1
- data/lib/wovnrb/services/url.rb +136 -0
- data/lib/wovnrb/store.rb +9 -3
- data/lib/wovnrb/url_language_switcher.rb +124 -0
- data/lib/wovnrb/version.rb +1 -1
- data/lib/wovnrb.rb +6 -4
- data/test/lib/api_translator_test.rb +66 -19
- data/test/lib/services/html_converter_test.rb +212 -39
- data/test/lib/services/url_test.rb +308 -0
- data/test/lib/url_language_switcher_test.rb +798 -0
- data/test/lib/wovnrb_test.rb +2 -1
- data/test/test_helper.rb +5 -2
- data/wovnrb.gemspec +3 -2
- metadata +42 -28
data/test/lib/wovnrb_test.rb
CHANGED
@@ -256,7 +256,8 @@ HTML
|
|
256
256
|
store, headers = store_headers_factory(subdomain, original_lang)
|
257
257
|
if api_expected
|
258
258
|
dom = Wovnrb::Helpers::NokogumboHelper.parse_html(body)
|
259
|
-
|
259
|
+
url_lang_switcher = Wovnrb::UrlLanguageSwitcher.new(store)
|
260
|
+
converter = Wovnrb::HtmlConverter.new(dom, store, headers, url_lang_switcher)
|
260
261
|
apified_body, = converter.build_api_compatible_html
|
261
262
|
mock_translation_api_response(apified_body, expected_body)
|
262
263
|
end
|
data/test/test_helper.rb
CHANGED
@@ -14,7 +14,7 @@ SimpleCov.start do
|
|
14
14
|
track_files 'lib/**/*.rb'
|
15
15
|
end
|
16
16
|
|
17
|
-
require '
|
17
|
+
require 'nokogiri'
|
18
18
|
require 'rack'
|
19
19
|
require 'minitest/autorun'
|
20
20
|
require 'mocha/minitest'
|
@@ -30,9 +30,11 @@ require 'wovnrb/store'
|
|
30
30
|
require 'wovnrb/helpers/nokogumbo_helper'
|
31
31
|
require 'wovnrb/services/html_converter'
|
32
32
|
require 'wovnrb/services/html_replace_marker'
|
33
|
+
require 'wovnrb/url_language_switcher'
|
34
|
+
require 'wovnrb/services/url'
|
33
35
|
|
34
36
|
module Wovnrb
|
35
|
-
class WovnMiniTest <
|
37
|
+
class WovnMiniTest < ActiveSupport::TestCase
|
36
38
|
def before_setup
|
37
39
|
super
|
38
40
|
Wovnrb::Store.instance.reset
|
@@ -81,6 +83,7 @@ module Wovnrb
|
|
81
83
|
env['SERVER_NAME'] = 'wovn.io'
|
82
84
|
env['HTTP_COOKIE'] = 'olfsk=olfsk021093478426337242; hblid=KB8AAMzxzu2DSxnB4X7BJ26rBGVeF0yJ; optimizelyEndUserId=oeu1426233718869r0.5398541854228824; __zlcmid=UFeZqrVo6Mv3Yl; wovn_selected_lang=en; optimizelySegments=%7B%7D; optimizelyBuckets=%7B%7D; _equalizer_session=eDFwM3M2QUZJZFhoby9JZlArckcvSUJwNFRINXhUeUxtNnltQXZhV0tqdGhZQjJMZ01URnZTK05ydFVWYmM3U0dtMVN0M0Z0UnNDVG8vdUNDTUtPc21jY0FHREgrZ05CUnBTb0hyUlkvYlBWQVhQR3RZdnhjMWsrRW5rOVp1Z3V3bkgyd3NpSlRZQWU1dlZvNmM1THp6aUZVeE83Y1pWWENRNTBUVFIrV05WeTdDMlFlem1tUzdxaEtndFZBd2dtUjU2ak5EUmJPa3RWWmMyT1pSVWdMTm8zOVZhUWhHdGQ3L1c5bm91RmNSdFRrcC90Tml4N2t3ZWlBaDRya2lLT1I0S0J2TURhUWl6Uk5rOTQ4Y1MwM3VKYnlLMUYraEt5clhRdFd1eGdEWXdZd3pFbWQvdE9vQndhdDVQbXNLcHBURm9CbnZKenU2YnNXRFdqRVl0MVV3bmRyYjhvMDExcGtUVU9tK1lqUGswM3p6M05tbVRnTjE3TUl5cEdpTTZ4a2gray8xK0FvTC9wUDVka1JSeE5GM1prZmRjWDdyVzRhWW5uS2Mxc1BxOEVVTTZFS3N5bTlVN2p5eE5YSjNZWGI2UHd3Vzc0bDM5QjIwL0l5Mm85NmQyWFAwdVQ3ZzJYYk1QOHY2NVJpY2c9LS1KNU96eHVycVJxSDJMbEc4Rm9KVXpBPT0%3D--17e47555d692fb9cde20ef78a09a5eabbf805bb3; mp_a0452663eb7abb7dfa9c94007ebb0090_mixpanel=%7B%22distinct_id%22%3A%20%2253ed9ffa4a65662e37000000%22%2C%22%24initial_referrer%22%3A%20%22http%3A%2F%2Fp.dev-wovn.io%3A8080%2Fhttp%3A%2F%2Fdev-wovn.io%3A3000%22%2C%22%24initial_referring_domain%22%3A%20%22p.dev-wovn.io%3A8080%22%2C%22__mps%22%3A%20%7B%7D%2C%22__mpso%22%3A%20%7B%7D%2C%22__mpa%22%3A%20%7B%7D%2C%22__mpu%22%3A%20%7B%7D%2C%22__mpap%22%3A%20%5B%5D%7D'
|
83
85
|
env['HTTP_ACCEPT_LANGUAGE'] = 'ja,en-US;q=0.8,en;q=0.6'
|
86
|
+
env['HTTP_USER_AGENT'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36'
|
84
87
|
env['ORIGINAL_FULLPATH'] = '/dashboard?param=val&hey=you'
|
85
88
|
# env['HTTP_REFERER'] =
|
86
89
|
env['REQUEST_PATH'] = '/dashboard'
|
data/wovnrb.gemspec
CHANGED
@@ -12,6 +12,7 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.homepage = 'https://wovn.io'
|
13
13
|
spec.license = 'MIT'
|
14
14
|
spec.required_ruby_version = '>= 2.5'
|
15
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
15
16
|
|
16
17
|
files = `git ls-files -z`.split("\x0")
|
17
18
|
files.delete('BEFORE_PUSHING')
|
@@ -23,8 +24,7 @@ Gem::Specification.new do |spec|
|
|
23
24
|
spec.add_dependency 'activesupport'
|
24
25
|
spec.add_dependency 'addressable'
|
25
26
|
spec.add_dependency 'lz4-ruby'
|
26
|
-
spec.add_dependency 'nokogiri', '>= 1.
|
27
|
-
spec.add_dependency 'nokogumbo', '>= 1.4.0', '< 2.0.0'
|
27
|
+
spec.add_dependency 'nokogiri', '>= 1.12', '<2'
|
28
28
|
spec.add_dependency 'rack'
|
29
29
|
|
30
30
|
spec.add_development_dependency 'bundler', '>= 1.7'
|
@@ -45,6 +45,7 @@ Gem::Specification.new do |spec|
|
|
45
45
|
|
46
46
|
spec.add_development_dependency 'rake-compiler'
|
47
47
|
spec.add_development_dependency 'rubocop'
|
48
|
+
spec.add_development_dependency 'rubocop-performance'
|
48
49
|
spec.add_development_dependency 'timecop'
|
49
50
|
|
50
51
|
# NOTE; it need to use webmock 2.3.2 for avoiding error when we use ruby 2.4.x.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wovnrb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wovn Technologies, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -58,40 +58,20 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.
|
62
|
-
- - "<="
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
version: '1.11'
|
65
|
-
type: :runtime
|
66
|
-
prerelease: false
|
67
|
-
version_requirements: !ruby/object:Gem::Requirement
|
68
|
-
requirements:
|
69
|
-
- - ">="
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version: 1.8.1
|
72
|
-
- - "<="
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: '1.11'
|
75
|
-
- !ruby/object:Gem::Dependency
|
76
|
-
name: nokogumbo
|
77
|
-
requirement: !ruby/object:Gem::Requirement
|
78
|
-
requirements:
|
79
|
-
- - ">="
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: 1.4.0
|
61
|
+
version: '1.12'
|
82
62
|
- - "<"
|
83
63
|
- !ruby/object:Gem::Version
|
84
|
-
version: 2
|
64
|
+
version: '2'
|
85
65
|
type: :runtime
|
86
66
|
prerelease: false
|
87
67
|
version_requirements: !ruby/object:Gem::Requirement
|
88
68
|
requirements:
|
89
69
|
- - ">="
|
90
70
|
- !ruby/object:Gem::Version
|
91
|
-
version: 1.
|
71
|
+
version: '1.12'
|
92
72
|
- - "<"
|
93
73
|
- !ruby/object:Gem::Version
|
94
|
-
version: 2
|
74
|
+
version: '2'
|
95
75
|
- !ruby/object:Gem::Dependency
|
96
76
|
name: rack
|
97
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -344,6 +324,20 @@ dependencies:
|
|
344
324
|
- - ">="
|
345
325
|
- !ruby/object:Gem::Version
|
346
326
|
version: '0'
|
327
|
+
- !ruby/object:Gem::Dependency
|
328
|
+
name: rubocop-performance
|
329
|
+
requirement: !ruby/object:Gem::Requirement
|
330
|
+
requirements:
|
331
|
+
- - ">="
|
332
|
+
- !ruby/object:Gem::Version
|
333
|
+
version: '0'
|
334
|
+
type: :development
|
335
|
+
prerelease: false
|
336
|
+
version_requirements: !ruby/object:Gem::Requirement
|
337
|
+
requirements:
|
338
|
+
- - ">="
|
339
|
+
- !ruby/object:Gem::Version
|
340
|
+
version: '0'
|
347
341
|
- !ruby/object:Gem::Dependency
|
348
342
|
name: timecop
|
349
343
|
requirement: !ruby/object:Gem::Requirement
|
@@ -418,8 +412,16 @@ files:
|
|
418
412
|
- README.ja.md
|
419
413
|
- README.md
|
420
414
|
- Rakefile
|
415
|
+
- build.sh
|
421
416
|
- docker/docker-compose.yml
|
417
|
+
- docker/nginx/Dockerfile
|
418
|
+
- docker/nginx/README.md
|
419
|
+
- docker/nginx/build.sh
|
420
|
+
- docker/nginx/scripts/configure_sshd.sh
|
421
|
+
- docker/nginx/scripts/startup.sh
|
422
|
+
- docker/nginx/wovnrb.conf
|
422
423
|
- docker/rails/Dockerfile
|
424
|
+
- docker/rails/Dockerfile.ECS
|
423
425
|
- docker/rails/TestSite/.browserslistrc
|
424
426
|
- docker/rails/TestSite/.gitignore
|
425
427
|
- docker/rails/TestSite/Gemfile
|
@@ -506,6 +508,7 @@ files:
|
|
506
508
|
- docker/rails/TestSite/public/testpage.html
|
507
509
|
- docker/rails/TestSite/public/wovn_index.html
|
508
510
|
- docker/rails/TestSite/start.sh
|
511
|
+
- docker/rails/TestSite/start_rails.sh
|
509
512
|
- docker/rails/TestSite/storage/.keep
|
510
513
|
- docker/rails/TestSite/test/application_system_test_case.rb
|
511
514
|
- docker/rails/TestSite/test/channels/application_cable/connection_test.rb
|
@@ -521,6 +524,10 @@ files:
|
|
521
524
|
- docker/rails/TestSite/test/system/.keep
|
522
525
|
- docker/rails/TestSite/test/test_helper.rb
|
523
526
|
- docker/rails/TestSite/yarn.lock
|
527
|
+
- docker/scripts/jenkins/build.sh
|
528
|
+
- docker/scripts/jenkins/tag_and_push_image.sh
|
529
|
+
- docker/scripts/jenkins/taskdef.json
|
530
|
+
- docker/scripts/jenkins/taskdef.json.bak
|
524
531
|
- lib/wovnrb.rb
|
525
532
|
- lib/wovnrb/api_translator.rb
|
526
533
|
- lib/wovnrb/headers.rb
|
@@ -530,9 +537,11 @@ files:
|
|
530
537
|
- lib/wovnrb/services/glob.rb
|
531
538
|
- lib/wovnrb/services/html_converter.rb
|
532
539
|
- lib/wovnrb/services/html_replace_marker.rb
|
540
|
+
- lib/wovnrb/services/url.rb
|
533
541
|
- lib/wovnrb/services/wovn_logger.rb
|
534
542
|
- lib/wovnrb/settings.rb
|
535
543
|
- lib/wovnrb/store.rb
|
544
|
+
- lib/wovnrb/url_language_switcher.rb
|
536
545
|
- lib/wovnrb/version.rb
|
537
546
|
- makefile
|
538
547
|
- test/fixtures/html/test.html
|
@@ -543,15 +552,18 @@ files:
|
|
543
552
|
- test/lib/services/glob_test.rb
|
544
553
|
- test/lib/services/html_converter_test.rb
|
545
554
|
- test/lib/services/html_replace_marker_test.rb
|
555
|
+
- test/lib/services/url_test.rb
|
546
556
|
- test/lib/services/wovn_logger_test.rb
|
547
557
|
- test/lib/store_test.rb
|
558
|
+
- test/lib/url_language_switcher_test.rb
|
548
559
|
- test/lib/wovnrb_test.rb
|
549
560
|
- test/test_helper.rb
|
550
561
|
- wovnrb.gemspec
|
551
562
|
homepage: https://wovn.io
|
552
563
|
licenses:
|
553
564
|
- MIT
|
554
|
-
metadata:
|
565
|
+
metadata:
|
566
|
+
rubygems_mfa_required: 'true'
|
555
567
|
post_install_message:
|
556
568
|
rdoc_options: []
|
557
569
|
require_paths:
|
@@ -567,7 +579,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
567
579
|
- !ruby/object:Gem::Version
|
568
580
|
version: '0'
|
569
581
|
requirements: []
|
570
|
-
rubygems_version: 3.
|
582
|
+
rubygems_version: 3.1.4
|
571
583
|
signing_key:
|
572
584
|
specification_version: 4
|
573
585
|
summary: Gem for WOVN.io
|
@@ -580,7 +592,9 @@ test_files:
|
|
580
592
|
- test/lib/services/glob_test.rb
|
581
593
|
- test/lib/services/html_converter_test.rb
|
582
594
|
- test/lib/services/html_replace_marker_test.rb
|
595
|
+
- test/lib/services/url_test.rb
|
583
596
|
- test/lib/services/wovn_logger_test.rb
|
584
597
|
- test/lib/store_test.rb
|
598
|
+
- test/lib/url_language_switcher_test.rb
|
585
599
|
- test/lib/wovnrb_test.rb
|
586
600
|
- test/test_helper.rb
|