copy_tuner_client 0.9.0 → 0.10.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
  SHA256:
3
- metadata.gz: 996744608bfe0fb4a810ef7f859a0f20f8cb92c2e3646e43fa3f2f380492a0c9
4
- data.tar.gz: e535ee0af12cf52f818077c33dfe05ff40714736dbe7a8afc454257e2ee6fc46
3
+ metadata.gz: bccd14def1ebe5752df2720935cff2474e749adc498cdcd310e4c8eeb3144245
4
+ data.tar.gz: f1acb0047c41797eb773eb852379d1921e040a1e5688eea89a7becce3f4540c4
5
5
  SHA512:
6
- metadata.gz: 76e6d0d13b2b3f311ffbfebd4cbebb98712bfd0a6d15362d8290430a26d28bda58957f54a409821ee5622c0d98eaf8219a1c26829c41a88604b2366073fbd986
7
- data.tar.gz: b476d7b428b800767f8485fb05226c0d0c8b22b2a89396f0de8560f733c99592bd230851f94e03b5b6bf17899979f41dae84fde3248ca20f2f71e00f077fa170
6
+ metadata.gz: 669c8e6bc71974318d16f4277f498a8933869486a23a9fcbbd67375cfd9d8325e65a700645b01454d062d986763a32a264f33d3b01f2ec41cc7e4d5d5fe7035d
7
+ data.tar.gz: b201841f91363ec9f725bd071f2ddb8f341412ba0ce58edcd9e39b530ff092356592d33a57366fed95070d64e0226b428144b4fc315ffc6b121ac062f6d2848f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.10.0
2
+
3
+ - Add copy_tuner:detect_html_incompatible_keys task
4
+
1
5
  ## 0.9.0
2
6
 
3
7
  - Do not upload invalid type keys
data/Gemfile.lock CHANGED
@@ -14,9 +14,10 @@ GIT
14
14
  PATH
15
15
  remote: .
16
16
  specs:
17
- copy_tuner_client (0.9.0)
17
+ copy_tuner_client (0.10.0)
18
18
  i18n (>= 0.5.0)
19
19
  json
20
+ nokogiri
20
21
 
21
22
  GEM
22
23
  remote: http://rubygems.org/
@@ -6,6 +6,7 @@ Gem::Specification.new do |s|
6
6
  s.required_ruby_version = '>= 2.5.0'
7
7
  s.add_dependency 'i18n', '>= 0.5.0'
8
8
  s.add_dependency 'json'
9
+ s.add_dependency 'nokogiri'
9
10
  s.add_development_dependency 'rails', '~> 5.2.4.2'
10
11
  s.add_development_dependency 'rake'
11
12
  s.add_development_dependency 'rspec', '3.8.0' # NOTE: 3.9.0だとundefined method `synchronize'でコケるテストがある
@@ -0,0 +1,14 @@
1
+ require 'nokogiri'
2
+
3
+ module CopyTunerClient
4
+ module I18nCompat
5
+ def select_html_incompatible_blurbs(blurbs)
6
+ non_html_key_blurbs = blurbs.reject { |key| key.ends_with?('.html') || key.ends_with?('_html') }
7
+ html_blurbs = non_html_key_blurbs.select do |key, content|
8
+ Nokogiri::HTML.fragment(content).children.any? { |node| node.name != 'text' }
9
+ end
10
+ end
11
+
12
+ module_function :select_html_incompatible_blurbs
13
+ end
14
+ end
@@ -1,6 +1,6 @@
1
1
  module CopyTunerClient
2
2
  # Client version
3
- VERSION = '0.9.0'.freeze
3
+ VERSION = '0.10.0'.freeze
4
4
 
5
5
  # API version being used to communicate with the server
6
6
  API_VERSION = '2.0'.freeze
@@ -25,8 +25,21 @@ namespace :copy_tuner do
25
25
  if conflict_keys.empty?
26
26
  puts 'All success'
27
27
  else
28
- pp conflict_keys
29
- raise 'Exists invalid keys'
28
+ puts conflict_keys.sort.join("\n")
29
+ exit 1
30
+ end
31
+ end
32
+
33
+ desc "Detect html incompatible keys."
34
+ task :detect_html_incompatible_keys => :environment do
35
+ require 'copy_tuner_client/i18n_compat'
36
+ html_incompatible_blurbs = CopyTunerClient::I18nCompat.select_html_incompatible_blurbs(CopyTunerClient.cache.blurbs)
37
+
38
+ if html_incompatible_blurbs.empty?
39
+ puts 'All success'
40
+ else
41
+ puts html_incompatible_blurbs.keys.sort.join("\n")
42
+ exit 1
30
43
  end
31
44
  end
32
45
  end
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.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - SonicGarden
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-29 00:00:00.000000000 Z
11
+ date: 2021-09-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: nokogiri
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rails
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -198,6 +212,7 @@ files:
198
212
  - lib/copy_tuner_client/engine.rb
199
213
  - lib/copy_tuner_client/errors.rb
200
214
  - lib/copy_tuner_client/i18n_backend.rb
215
+ - lib/copy_tuner_client/i18n_compat.rb
201
216
  - lib/copy_tuner_client/poller.rb
202
217
  - lib/copy_tuner_client/prefixed_logger.rb
203
218
  - lib/copy_tuner_client/process_guard.rb