copy_tuner_client 0.16.3 → 0.18.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/.github/workflows/rspec.yml +6 -2
- data/.vscode/settings.json +1 -1
- data/gemfiles/7.1.gemfile +5 -0
- data/lib/copy_tuner_client/cache.rb +8 -0
- data/lib/copy_tuner_client/configuration.rb +8 -1
- data/lib/copy_tuner_client/request_sync.rb +1 -1
- data/lib/copy_tuner_client/version.rb +1 -1
- data/spec/copy_tuner_client/i18n_backend_spec.rb +2 -2
- data/spec/support/client_spec_helpers.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3dd1bd5be09dae5d4711ef62bae587223ed112843b7d504afd3010c8f64f313b
|
4
|
+
data.tar.gz: 9409ad92981ad447560663e177f555c1b1d327c54edf04169533e6329bbe69b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9402dac344ec22379237ecbeed0cc6f71cfeca6733d69f65e5e022f0ef5f46b98175671b0cd4db1042cf65fb058dc8eb97ad3bceaa597024a3002808febf6d46
|
7
|
+
data.tar.gz: 6c954506bb852fd34aa9608276ab93b3f786db53e5c691c8c4e96481334b4e01d52d8e3efefa6a945676b5da2ea5a7bddcdcc44d47114cadff95fbfc01dc3515
|
data/.github/workflows/rspec.yml
CHANGED
@@ -22,13 +22,17 @@ jobs:
|
|
22
22
|
strategy:
|
23
23
|
fail-fast: false
|
24
24
|
matrix:
|
25
|
-
ruby: ["3.0", 3.1, 3.2]
|
26
|
-
gemfile: ["6.1", "7.0", "main"]
|
25
|
+
ruby: ["3.0", 3.1, 3.2, 3,3]
|
26
|
+
gemfile: ["6.1", "7.0", "7.1", "main"]
|
27
27
|
exclude:
|
28
|
+
- ruby: "3.0"
|
29
|
+
gemfile: "main"
|
28
30
|
- ruby: "3.1"
|
29
31
|
gemfile: "6.1"
|
30
32
|
- ruby: "3.2"
|
31
33
|
gemfile: "6.1"
|
34
|
+
- ruby: "3.3"
|
35
|
+
gemfile: "6.1"
|
32
36
|
steps:
|
33
37
|
- name: Install packages
|
34
38
|
run: |
|
data/.vscode/settings.json
CHANGED
@@ -18,6 +18,8 @@ module CopyTunerClient
|
|
18
18
|
@mutex = Mutex.new
|
19
19
|
@exclude_key_regexp = options[:exclude_key_regexp]
|
20
20
|
@upload_disabled = options[:upload_disabled]
|
21
|
+
@ignored_keys = options.fetch(:ignored_keys, [])
|
22
|
+
@ignored_key_handler = options.fetch(:ignored_key_handler, -> (e) { raise e })
|
21
23
|
@locales = Array(options[:locales]).map(&:to_s)
|
22
24
|
# mutable states
|
23
25
|
@blurbs = {}
|
@@ -44,6 +46,12 @@ module CopyTunerClient
|
|
44
46
|
return if @locales.present? && !@locales.member?(key.split('.').first)
|
45
47
|
return if @upload_disabled
|
46
48
|
|
49
|
+
# NOTE: config/locales以下のファイルに除外キーが残っていた場合の対応
|
50
|
+
key_without_locale = key.split('.')[1..].join('.')
|
51
|
+
if @ignored_keys.include?(key_without_locale)
|
52
|
+
@ignored_key_handler.call(IgnoredKey.new("Ignored key: #{key_without_locale}"))
|
53
|
+
end
|
54
|
+
|
47
55
|
lock do
|
48
56
|
return if @blank_keys.member?(key) || @blurbs.key?(key)
|
49
57
|
|
@@ -157,13 +157,20 @@ module CopyTunerClient
|
|
157
157
|
self.upload_disabled_environments = %w[production staging]
|
158
158
|
self.s3_host = 'copy-tuner-data-prod.s3.amazonaws.com'
|
159
159
|
self.disable_copyray_comment_injection = false
|
160
|
-
|
160
|
+
# TODO: 0.18.0以降のバージョンで初期値をtrueにしたい
|
161
|
+
self.html_escape = nil
|
161
162
|
self.ignored_keys = []
|
162
163
|
self.ignored_key_handler = -> (e) { raise e }
|
163
164
|
|
164
165
|
@applied = false
|
165
166
|
end
|
166
167
|
|
168
|
+
def html_escape
|
169
|
+
raise 'CopyTunerClient.configuration.html_escape is required' if @html_escape.nil?
|
170
|
+
|
171
|
+
@html_escape
|
172
|
+
end
|
173
|
+
|
167
174
|
# Allows config options to be read like a hash
|
168
175
|
#
|
169
176
|
# @param [Symbol] option Key for a given attribute
|
@@ -121,7 +121,7 @@ module CopyTunerClient
|
|
121
121
|
# you have to pass a binding to this (a proc) so that ERB can have
|
122
122
|
# access to helper functions and local variables
|
123
123
|
def render_without_layout(view, binding)
|
124
|
-
ERB.new(File.read(File.join(VIEW_PATH, 'copytuner', view.to_s + '.html.erb')),
|
124
|
+
ERB.new(File.read(File.join(VIEW_PATH, 'copytuner', view.to_s + '.html.erb')), eoutvar: 'frobnitz').result(binding)
|
125
125
|
end
|
126
126
|
|
127
127
|
def cancel_sync?(env)
|
@@ -111,10 +111,10 @@ describe CopyTunerClient::I18nBackend do
|
|
111
111
|
expect(cache['en.test.key']).to eq 'default %{interpolate}'
|
112
112
|
end
|
113
113
|
|
114
|
-
it "
|
114
|
+
it "dose not mark strings as html safe" do
|
115
115
|
cache['en.test.key'] = FakeHtmlSafeString.new("Hello")
|
116
116
|
backend = build_backend
|
117
|
-
expect(backend.translate('en', 'test.key')).
|
117
|
+
expect(backend.translate('en', 'test.key')).to_not be_html_safe
|
118
118
|
end
|
119
119
|
|
120
120
|
it "looks up an array of defaults" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: copy_tuner_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- SonicGarden
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-08-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: i18n
|
@@ -203,6 +203,7 @@ files:
|
|
203
203
|
- copy_tuner_client.gemspec
|
204
204
|
- gemfiles/6.1.gemfile
|
205
205
|
- gemfiles/7.0.gemfile
|
206
|
+
- gemfiles/7.1.gemfile
|
206
207
|
- gemfiles/main.gemfile
|
207
208
|
- index.html
|
208
209
|
- lib/copy_tuner_client.rb
|