wovnrb 1.0.12 → 1.0.13
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/lib/wovnrb.rb +1 -1
- data/lib/wovnrb/store.rb +22 -28
- data/lib/wovnrb/version.rb +1 -1
- data/test/lib/api_data_test.rb +5 -5
- data/test/lib/headers_test.rb +4 -4
- data/test/lib/html_replacers/replacer_base_test.rb +2 -2
- data/test/lib/html_replacers/script_replacer_test.rb +6 -6
- data/test/lib/lang_test.rb +1 -1
- data/test/lib/services/wovn_logger_test.rb +5 -6
- data/test/lib/store_test.rb +22 -22
- data/test/test_helper.rb +1 -1
- data/wovnrb.gemspec +1 -1
- metadata +10 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cc6f97af8d6ae409297a399b58c35570e267ca11
|
4
|
+
data.tar.gz: 46437e1724675d82d2618f82a622e75a2641be89
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 09b1f83b01bd0ea0ea754ce5bc4cc545b19d43c62280f6041bdb725d360cdcd42e4d35adc280e770f852d36c32fb3ffa69a223a9c192b2e48455ecfd92e12669
|
7
|
+
data.tar.gz: 6121d05cd6d8710e5ac8825b926ce4ced7bbf0f1f5238aa8c29661c77a42d6037ef931098301626f74aac5b2082946973029e86d5f632067fc40c8f878ab8c2f
|
data/lib/wovnrb.rb
CHANGED
data/lib/wovnrb/store.rb
CHANGED
@@ -37,8 +37,6 @@ module Wovnrb
|
|
37
37
|
end
|
38
38
|
|
39
39
|
def initialize
|
40
|
-
@settings = Settings.new
|
41
|
-
@config_loaded = false
|
42
40
|
reset
|
43
41
|
end
|
44
42
|
|
@@ -89,7 +87,7 @@ module Wovnrb
|
|
89
87
|
valid = false
|
90
88
|
errors.push("API URL is not configured.")
|
91
89
|
end
|
92
|
-
if !settings.has_key?('default_lang') || settings['default_lang'].
|
90
|
+
if !settings.has_key?('default_lang') || settings['default_lang'].nil?
|
93
91
|
valid = false
|
94
92
|
errors.push("Default lang #{settings['default_lang']} is not valid.")
|
95
93
|
end
|
@@ -112,30 +110,33 @@ module Wovnrb
|
|
112
110
|
|
113
111
|
# Returns the settings object, pulling from Rails config the first time this is called
|
114
112
|
#
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
113
|
+
def settings
|
114
|
+
load_settings unless @config_loaded
|
115
|
+
@settings
|
116
|
+
end
|
117
|
+
|
118
|
+
# Load Rails config.wovnrb
|
119
|
+
#
|
120
|
+
def load_settings
|
121
|
+
if Object.const_defined?('Rails') && Rails.configuration.respond_to?(:wovnrb)
|
122
|
+
@config_loaded = true
|
123
|
+
update_settings(Rails.configuration.wovnrb)
|
120
124
|
end
|
125
|
+
end
|
121
126
|
|
122
|
-
|
123
|
-
|
127
|
+
def update_settings(new_settings)
|
128
|
+
load_settings unless @config_loaded
|
129
|
+
if !new_settings.nil?
|
130
|
+
@settings.merge!(new_settings.stringify_keys)
|
131
|
+
format_settings
|
124
132
|
end
|
133
|
+
end
|
125
134
|
|
126
|
-
|
127
|
-
if
|
128
|
-
|
129
|
-
if config_settings.has_key?('url_pattern')
|
130
|
-
if config_settings['url_pattern'] == 'query' || config_settings['url_pattern'] == 'subdomain' || config_settings['url_pattern'] == 'path'
|
131
|
-
config_settings['url_pattern'] = config_settings['url_pattern']
|
132
|
-
config_settings.delete('url_pattern')
|
133
|
-
end
|
134
|
-
end
|
135
|
-
@settings.merge!(Rails.configuration.wovnrb.stringify_keys)
|
135
|
+
def format_settings
|
136
|
+
if @settings.has_key?('custom_lang_aliases')
|
137
|
+
stringify_keys! @settings['custom_lang_aliases']
|
136
138
|
end
|
137
139
|
|
138
|
-
# fix settings object
|
139
140
|
@settings['default_lang'] = Lang.get_code(@settings['default_lang'])
|
140
141
|
if !@settings.has_key?('supported_langs')
|
141
142
|
@settings['supported_langs'] = [@settings['default_lang']]
|
@@ -160,16 +161,9 @@ module Wovnrb
|
|
160
161
|
@settings['test_mode'] = true
|
161
162
|
end
|
162
163
|
|
163
|
-
if @settings.has_key?('custom_lang_aliases')
|
164
|
-
stringify_keys! @settings['custom_lang_aliases']
|
165
|
-
end
|
166
|
-
|
167
164
|
if wovn_dev_mode? && @settings['api_url'] == Store.default_settings['api_url']
|
168
165
|
@settings['api_url'] = "#{wovn_protocol}://api.#{wovn_host}/v0/values"
|
169
166
|
end
|
170
|
-
|
171
|
-
@config_loaded = true
|
172
|
-
@settings
|
173
167
|
end
|
174
168
|
|
175
169
|
def wovn_dev_mode?
|
data/lib/wovnrb/version.rb
CHANGED
data/test/lib/api_data_test.rb
CHANGED
@@ -25,7 +25,7 @@ module Wovnrb
|
|
25
25
|
stub_request(:get, "https://api.wovn.io/v0/values?token=#{token}&url=#{url}").
|
26
26
|
to_return(:body => '{"test_body": "a"}')
|
27
27
|
store = Wovnrb::Store.instance
|
28
|
-
store.
|
28
|
+
store.update_settings('project_token' => token)
|
29
29
|
api_data = Wovnrb::ApiData.new(url, store)
|
30
30
|
|
31
31
|
assert_equal({'test_body' => 'a'}, api_data.get_data)
|
@@ -37,7 +37,7 @@ module Wovnrb
|
|
37
37
|
stub = stub_request(:get, "https://api.wovn.io/v0/values?token=#{token}&url=#{url}").
|
38
38
|
to_return(:body => '{"test_body": "a"}')
|
39
39
|
store = Wovnrb::Store.instance
|
40
|
-
store.
|
40
|
+
store.update_settings('project_token' => token)
|
41
41
|
api_data = Wovnrb::ApiData.new(url, store)
|
42
42
|
|
43
43
|
assert_equal({'test_body' => 'a'}, api_data.get_data)
|
@@ -53,13 +53,13 @@ module Wovnrb
|
|
53
53
|
store = Wovnrb::Store.instance
|
54
54
|
api_data = Wovnrb::ApiData.new(url, store)
|
55
55
|
|
56
|
-
store.
|
56
|
+
store.update_settings('project_token' => token)
|
57
57
|
assert_equal({'test_body' => 'a'}, api_data.get_data)
|
58
58
|
|
59
59
|
token = 'b'
|
60
60
|
stub_b = stub_request(:get, "https://api.wovn.io/v0/values?token=#{token}&url=#{url}").
|
61
61
|
to_return(:body => '{"test_body": "a"}')
|
62
|
-
store.
|
62
|
+
store.update_settings('project_token' => token)
|
63
63
|
assert_equal({'test_body' => 'a'}, api_data.get_data)
|
64
64
|
|
65
65
|
assert_requested(stub_a, :times => 1)
|
@@ -72,7 +72,7 @@ module Wovnrb
|
|
72
72
|
stub_request(:get, "https://api.wovn.io/v0/values?token=#{token}&url=#{url}").
|
73
73
|
to_return(:status => [500, "Internal Server Error"])
|
74
74
|
store = Wovnrb::Store.instance
|
75
|
-
store.
|
75
|
+
store.update_settings('project_token' => token)
|
76
76
|
api_data = Wovnrb::ApiData.new(url, store)
|
77
77
|
log_mock = Wovnrb::LogMock.mock_log
|
78
78
|
|
data/test/lib/headers_test.rb
CHANGED
@@ -123,7 +123,7 @@ module Wovnrb
|
|
123
123
|
end
|
124
124
|
|
125
125
|
def test_redirect_location_without_custom_lang_code
|
126
|
-
Store.instance.
|
126
|
+
Store.instance.update_settings({'custom_lang_aliases' => {'ja' => 'staging-ja'}})
|
127
127
|
h = Wovnrb::Headers.new(
|
128
128
|
Wovnrb.get_env('url' => 'http://wovn.io/contact', 'HTTP_X_FORWARDED_HOST' => 'wovn.io'),
|
129
129
|
Wovnrb.get_settings('url_pattern' => 'subdomain', 'url_pattern_reg' => '^(?<lang>[^.]+).'),
|
@@ -216,7 +216,7 @@ module Wovnrb
|
|
216
216
|
end
|
217
217
|
|
218
218
|
def test_request_out_http_referer_subdomain_with_custom_lang_code
|
219
|
-
Store.instance.
|
219
|
+
Store.instance.update_settings({'custom_lang_aliases' => {'ja' => 'staging-ja'}})
|
220
220
|
h = Wovnrb::Headers.new(
|
221
221
|
Wovnrb.get_env(
|
222
222
|
'SERVER_NAME' => 'staging-ja.wovn.io',
|
@@ -233,7 +233,7 @@ module Wovnrb
|
|
233
233
|
end
|
234
234
|
|
235
235
|
def test_out_http_referer_subdomain_with_custom_lang_code
|
236
|
-
Store.instance.
|
236
|
+
Store.instance.update_settings({'custom_lang_aliases' => {'ja' => 'staging-ja'}})
|
237
237
|
h = Wovnrb::Headers.new(
|
238
238
|
Wovnrb.get_env(
|
239
239
|
'SERVER_NAME' => 'staging-ja.wovn.io',
|
@@ -6217,7 +6217,7 @@ module Wovnrb
|
|
6217
6217
|
end
|
6218
6218
|
|
6219
6219
|
def test_remove_lang_subdomain_with_custom_lang_alias
|
6220
|
-
Store.instance.
|
6220
|
+
Store.instance.update_settings({'custom_lang_aliases' => {'fr' => 'staging-fr'}})
|
6221
6221
|
h = Wovnrb::Headers.new(Wovnrb.get_env, Wovnrb.get_settings('url_pattern' => 'subdomain'))
|
6222
6222
|
|
6223
6223
|
uri_without_scheme = h.remove_lang("staging-fr.wovn.io/", 'fr')
|
@@ -33,7 +33,7 @@ module Wovnrb
|
|
33
33
|
|
34
34
|
def test_wovn_ignore_class
|
35
35
|
store = Store.instance
|
36
|
-
store.
|
36
|
+
store.update_settings({'ignore_class' => ['base_ignore']})
|
37
37
|
replacer = ReplacerBase.new(store)
|
38
38
|
dom = Wovnrb.to_dom('<html><body><div class="base_ignore"></div></body></html>')
|
39
39
|
actual = replacer.send(:wovn_ignore?, dom.xpath('//div')[0])
|
@@ -43,7 +43,7 @@ module Wovnrb
|
|
43
43
|
|
44
44
|
def test_wovn_ignore_multiple_classes
|
45
45
|
store = Store.instance
|
46
|
-
store.
|
46
|
+
store.update_settings({'ignore_class' => ['base_ignore', 'base_ignore2']})
|
47
47
|
replacer = ReplacerBase.new(store)
|
48
48
|
html = <<HTML
|
49
49
|
<html>
|
@@ -5,7 +5,7 @@ module Wovnrb
|
|
5
5
|
class ScriptReplacerTest < WovnMiniTest
|
6
6
|
def test_replace
|
7
7
|
store = Store.instance
|
8
|
-
store.
|
8
|
+
store.update_settings({
|
9
9
|
'user_token' => 'test_token',
|
10
10
|
'default_lang' => 'en',
|
11
11
|
'url_pattern' => 'domain'
|
@@ -27,7 +27,7 @@ module Wovnrb
|
|
27
27
|
|
28
28
|
def test_replace_with_wovn_dev_mode_on
|
29
29
|
store = Store.instance
|
30
|
-
store.
|
30
|
+
store.update_settings({
|
31
31
|
'user_token' => 'test_token',
|
32
32
|
'default_lang' => 'en',
|
33
33
|
'url_pattern' => 'domain',
|
@@ -50,7 +50,7 @@ module Wovnrb
|
|
50
50
|
|
51
51
|
def test_with_embed_wovn
|
52
52
|
store = Store.instance
|
53
|
-
store.
|
53
|
+
store.update_settings({
|
54
54
|
'user_token' => 'test_token',
|
55
55
|
'default_lang' => 'en',
|
56
56
|
'url_pattern' => 'domain'
|
@@ -68,7 +68,7 @@ module Wovnrb
|
|
68
68
|
|
69
69
|
def test_with_multiple_embed_wovn
|
70
70
|
store = Store.instance
|
71
|
-
store.
|
71
|
+
store.update_settings({
|
72
72
|
'user_token' => 'test_token',
|
73
73
|
'default_lang' => 'en',
|
74
74
|
'url_pattern' => 'domain'
|
@@ -86,7 +86,7 @@ module Wovnrb
|
|
86
86
|
|
87
87
|
def test_with_embed_wovn_at_body
|
88
88
|
store = Store.instance
|
89
|
-
store.
|
89
|
+
store.update_settings({
|
90
90
|
'user_token' => 'test_token',
|
91
91
|
'default_lang' => 'en',
|
92
92
|
'url_pattern' => 'domain'
|
@@ -104,7 +104,7 @@ module Wovnrb
|
|
104
104
|
|
105
105
|
def test_contains_lang_code_aliases
|
106
106
|
store = Store.instance
|
107
|
-
store.
|
107
|
+
store.update_settings({
|
108
108
|
'user_token' => 'test_token',
|
109
109
|
'default_lang' => 'en',
|
110
110
|
'url_pattern' => 'domain',
|
data/test/lib/lang_test.rb
CHANGED
@@ -573,7 +573,7 @@ module Wovnrb
|
|
573
573
|
|
574
574
|
def test_add_lang_code_with_custom_lang_aliases
|
575
575
|
lang = Lang.new('fr')
|
576
|
-
Store.instance.
|
576
|
+
Store.instance.update_settings({'custom_lang_aliases' => {'fr' => 'staging-fr'}})
|
577
577
|
h = Wovnrb::Headers.new(Wovnrb.get_env('url' => 'http://wovn.io'), Wovnrb.get_settings('url_pattern' => 'subdomain', 'url_pattern_reg' => '^(?<lang>[^.]+).'))
|
578
578
|
assert_equal("http://staging-fr.wovn.io/topics/50", lang.add_lang_code("/topics/50", 'subdomain', h))
|
579
579
|
end
|
@@ -9,22 +9,21 @@ module Wovnrb
|
|
9
9
|
|
10
10
|
def test_initialize
|
11
11
|
log_file_name = 'test_tmp.log'
|
12
|
-
Store.instance.
|
12
|
+
Store.instance.update_settings({'log_path' => log_file_name})
|
13
13
|
WovnLogger.instance
|
14
14
|
assert(File.exists?(log_file_name))
|
15
15
|
File.delete(log_file_name)
|
16
16
|
end
|
17
17
|
|
18
18
|
def test_initialize_without_path
|
19
|
-
|
20
|
-
Store.instance.settings({'log_path' => nil})
|
19
|
+
Store.instance.update_settings({'log_path' => nil})
|
21
20
|
WovnLogger.instance
|
22
|
-
assert_equal(
|
21
|
+
assert_equal($stderr, WovnLogger.instance.instance_variable_get(:@logger))
|
23
22
|
end
|
24
23
|
|
25
|
-
def
|
24
|
+
def test_initialize_with_invalid_path
|
26
25
|
log_file_name = 'in/val/id/test_tmp.log'
|
27
|
-
Store.instance.
|
26
|
+
Store.instance.update_settings({'log_path' => log_file_name})
|
28
27
|
WovnLogger.instance
|
29
28
|
assert_equal(false, File.exists?(log_file_name))
|
30
29
|
assert_equal(true, File.exists?('wovn_error.log'))
|
data/test/lib/store_test.rb
CHANGED
@@ -16,41 +16,41 @@ module Wovnrb
|
|
16
16
|
|
17
17
|
def test_settings_user_token_retro_compatibility
|
18
18
|
s = Wovnrb::Store.instance
|
19
|
-
s.
|
19
|
+
s.update_settings({'user_token' => 'aaaaa'})
|
20
20
|
assert_equal('aaaaa', s.settings['project_token'])
|
21
21
|
assert(!s.settings.has_key?('user_token'))
|
22
22
|
end
|
23
23
|
|
24
24
|
def test_settings_project_token_set
|
25
25
|
s = Wovnrb::Store.instance
|
26
|
-
s.
|
26
|
+
s.update_settings({'project_token' => 'bbbbbb'})
|
27
27
|
assert_equal('bbbbbb', s.settings['project_token'])
|
28
28
|
end
|
29
29
|
|
30
30
|
def test_settings_project_token_set_without_retro_compatibility
|
31
31
|
s = Wovnrb::Store.instance
|
32
|
-
s.
|
32
|
+
s.update_settings({'project_token' => 'bbbbbb', 'user_token' => 'aaaaa'})
|
33
33
|
assert_equal('bbbbbb', s.settings['project_token'])
|
34
34
|
assert(!s.settings.has_key?('user_token'))
|
35
35
|
end
|
36
36
|
|
37
37
|
def test_settings_url_pattern_path
|
38
38
|
s = Wovnrb::Store.instance
|
39
|
-
s.
|
39
|
+
s.update_settings({'url_pattern' => 'path'})
|
40
40
|
assert_equal('path', s.settings['url_pattern'])
|
41
41
|
assert_equal('/(?<lang>[^/.?]+)', s.settings['url_pattern_reg'])
|
42
42
|
end
|
43
43
|
|
44
44
|
def test_settings_url_pattern_subdomain
|
45
45
|
s = Wovnrb::Store.instance
|
46
|
-
s.
|
46
|
+
s.update_settings({'url_pattern' => 'subdomain'})
|
47
47
|
assert_equal("^(?<lang>[^.]+)\.", s.settings['url_pattern_reg'])
|
48
48
|
assert_equal('subdomain', s.settings['url_pattern'])
|
49
49
|
end
|
50
50
|
|
51
51
|
def test_settings_url_pattern_query
|
52
52
|
s = Wovnrb::Store.instance
|
53
|
-
s.
|
53
|
+
s.update_settings({'url_pattern' => 'query'})
|
54
54
|
assert_equal('((\\?.*&)|\\?)wovn=(?<lang>[^&]+)(&|$)', s.settings['url_pattern_reg'])
|
55
55
|
assert_equal('query', s.settings['url_pattern'])
|
56
56
|
end
|
@@ -66,7 +66,7 @@ module Wovnrb
|
|
66
66
|
|
67
67
|
def test_settings_ignore_paths
|
68
68
|
s = Wovnrb::Store.instance
|
69
|
-
s.
|
69
|
+
s.update_settings({'ignore_paths' => ['/api/**']})
|
70
70
|
assert_equal(1, s.settings['ignore_globs'].size)
|
71
71
|
assert_equal(true, s.settings['ignore_globs'].first.match?('/api/a/b'))
|
72
72
|
assert_equal(false, s.settings['ignore_globs'].first.match?('/a/b'))
|
@@ -74,7 +74,7 @@ module Wovnrb
|
|
74
74
|
|
75
75
|
def test_settings_ignore_paths_multiple
|
76
76
|
s = Wovnrb::Store.instance
|
77
|
-
s.
|
77
|
+
s.update_settings({'ignore_paths' => ['/api/a/**', '/api/b/**']})
|
78
78
|
assert_equal(2, s.settings['ignore_globs'].size)
|
79
79
|
assert_equal(true, s.settings['ignore_globs'].any?{|g| g.match?('/api/a')})
|
80
80
|
assert_equal(true, s.settings['ignore_globs'].any?{|g| g.match?('/api/b')})
|
@@ -83,14 +83,14 @@ module Wovnrb
|
|
83
83
|
|
84
84
|
def test_settings_ignore_paths_empty
|
85
85
|
s = Wovnrb::Store.instance
|
86
|
-
s.
|
86
|
+
s.update_settings({'ignore_paths' => []})
|
87
87
|
assert_equal([], s.settings['ignore_globs'])
|
88
88
|
end
|
89
89
|
|
90
90
|
def test_settings_invalid_ignore_paths
|
91
91
|
mock = LogMock.mock_log
|
92
92
|
store = Wovnrb::Store.instance
|
93
|
-
store.
|
93
|
+
store.update_settings({'ignore_paths' => 'aaaa'})
|
94
94
|
|
95
95
|
assert_equal(false, store.valid_settings?)
|
96
96
|
assert_equal(['Project token is not valid.', 'Ignore Paths aaaa should be Array.'], mock.errors)
|
@@ -98,8 +98,8 @@ module Wovnrb
|
|
98
98
|
|
99
99
|
def test_settings_ignore_glob_injection
|
100
100
|
s = Wovnrb::Store.instance
|
101
|
-
s.
|
102
|
-
s.
|
101
|
+
s.update_settings({'ignore_paths' => nil})
|
102
|
+
s.update_settings({'ignore_globs' => [1, 2]})
|
103
103
|
|
104
104
|
assert_equal([], s.settings['ignore_globs'])
|
105
105
|
end
|
@@ -142,35 +142,35 @@ module Wovnrb
|
|
142
142
|
|
143
143
|
def test_add_custom_lang_aliases_empty
|
144
144
|
s = Wovnrb::Store.instance
|
145
|
-
s.
|
145
|
+
s.update_settings({'custom_lang_aliases' => {}})
|
146
146
|
|
147
147
|
assert_equal({}, s.settings['custom_lang_aliases'])
|
148
148
|
end
|
149
149
|
|
150
150
|
def test_add_custom_lang_aliases_single_value
|
151
151
|
s = Wovnrb::Store.instance
|
152
|
-
s.
|
152
|
+
s.update_settings({'custom_lang_aliases' => {'ja' => 'staging-ja'}})
|
153
153
|
|
154
154
|
assert_equal({'ja' => 'staging-ja'}, s.settings['custom_lang_aliases'])
|
155
155
|
end
|
156
156
|
|
157
157
|
def test_add_custom_lang_aliases_multiple_values
|
158
158
|
s = Wovnrb::Store.instance
|
159
|
-
s.
|
159
|
+
s.update_settings({'custom_lang_aliases' => {'ja' => 'staging-ja', 'en' => 'staging-en'}})
|
160
160
|
|
161
161
|
assert_equal({'ja' => 'staging-ja', 'en' => 'staging-en'}, s.settings['custom_lang_aliases'])
|
162
162
|
end
|
163
163
|
|
164
164
|
def test_add_custom_lang_aliases_using_symbols
|
165
165
|
s = Wovnrb::Store.instance
|
166
|
-
s.
|
166
|
+
s.update_settings({'custom_lang_aliases' => {ja: 'staging-ja', en: 'staging-en'}})
|
167
167
|
|
168
168
|
assert_equal({'ja' => 'staging-ja', 'en' => 'staging-en'}, s.settings['custom_lang_aliases'])
|
169
169
|
end
|
170
170
|
|
171
171
|
def test_wovn_dev_mode_on
|
172
172
|
s = Wovnrb::Store.instance
|
173
|
-
s.
|
173
|
+
s.update_settings({'wovn_dev_mode' => true})
|
174
174
|
|
175
175
|
assert(s.settings['wovn_dev_mode'])
|
176
176
|
assert(s.wovn_dev_mode?)
|
@@ -178,7 +178,7 @@ module Wovnrb
|
|
178
178
|
|
179
179
|
def test_wovn_dev_mode_off_by_default
|
180
180
|
s = Wovnrb::Store.instance
|
181
|
-
s.
|
181
|
+
s.reset
|
182
182
|
|
183
183
|
assert(!s.settings['wovn_dev_mode'])
|
184
184
|
assert(!s.wovn_dev_mode?)
|
@@ -186,28 +186,28 @@ module Wovnrb
|
|
186
186
|
|
187
187
|
def test_default_api_url_with_wovn_dev_mode_on
|
188
188
|
s = Wovnrb::Store.instance
|
189
|
-
s.
|
189
|
+
s.update_settings({'wovn_dev_mode' => true})
|
190
190
|
|
191
191
|
assert_equal('http://api.dev-wovn.io:3000/v0/values', s.settings['api_url'])
|
192
192
|
end
|
193
193
|
|
194
194
|
def test_default_api_url_with_wovn_dev_mode_off
|
195
195
|
s = Wovnrb::Store.instance
|
196
|
-
s.
|
196
|
+
s.update_settings({'wovn_dev_mode' => false})
|
197
197
|
|
198
198
|
assert_equal('https://api.wovn.io/v0/values', s.settings['api_url'])
|
199
199
|
end
|
200
200
|
|
201
201
|
def test_custom_api_url_not_changed_with_wovn_dev_mode_on
|
202
202
|
s = Wovnrb::Store.instance
|
203
|
-
s.
|
203
|
+
s.update_settings({'api_url' => 'test-api.io', 'wovn_dev_mode' => true})
|
204
204
|
|
205
205
|
assert_equal('test-api.io', s.settings['api_url'])
|
206
206
|
end
|
207
207
|
|
208
208
|
def test_custom_api_url_not_changed_with_wovn_dev_mode_off
|
209
209
|
s = Wovnrb::Store.instance
|
210
|
-
s.
|
210
|
+
s.update_settings({'api_url' => 'test-api.io', 'wovn_dev_mode' => false})
|
211
211
|
|
212
212
|
assert_equal('test-api.io', s.settings['api_url'])
|
213
213
|
end
|
data/test/test_helper.rb
CHANGED
data/wovnrb.gemspec
CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
|
|
25
25
|
#spec.extensions = %w[ext/dom/extconf.rb]
|
26
26
|
#spec.extensions = spec.files.grep(%r{/extconf\.rb$})
|
27
27
|
|
28
|
-
spec.add_dependency "nokogumbo", ">= 1.
|
28
|
+
spec.add_dependency "nokogumbo", ">= 1.4.0", "< 2.0.0"
|
29
29
|
spec.add_dependency "nokogiri", "~> 1.8.1"
|
30
30
|
spec.add_dependency "activesupport"
|
31
31
|
spec.add_dependency "lz4-ruby"
|
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: 1.0.
|
4
|
+
version: 1.0.13
|
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-10-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogumbo
|
@@ -17,14 +17,20 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 1.
|
20
|
+
version: 1.4.0
|
21
|
+
- - "<"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 2.0.0
|
21
24
|
type: :runtime
|
22
25
|
prerelease: false
|
23
26
|
version_requirements: !ruby/object:Gem::Requirement
|
24
27
|
requirements:
|
25
28
|
- - ">="
|
26
29
|
- !ruby/object:Gem::Version
|
27
|
-
version: 1.
|
30
|
+
version: 1.4.0
|
31
|
+
- - "<"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.0.0
|
28
34
|
- !ruby/object:Gem::Dependency
|
29
35
|
name: nokogiri
|
30
36
|
requirement: !ruby/object:Gem::Requirement
|