i18n_checker 0.4.1 → 0.4.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ef286c1f99f8169740f4bae2e43bf3aa95b93eca
4
- data.tar.gz: 9149ed553dc95e8337b54e011d8380890d457f9f
3
+ metadata.gz: e08756c40c9973e96273b947878ea07a69a3b21a
4
+ data.tar.gz: d417195a6885d7fb64148d352f938300d1f6ece9
5
5
  SHA512:
6
- metadata.gz: 05b957fb37202dda939b7e4ff3da6b9b64a9e434f32f6f23f7534b4cf5a4300ccb164250dcd081db31ae4b2f6d49ec9f04b52c5821b6916a9140fe3355338157
7
- data.tar.gz: d78ffb732b787bd20df54b3f5a63dc95db99ddbf054f25eac979802f98ea69efecb4ca631d7329bc93b672b1eb56986206f78cece6e382050f6f1a4f31b87e10
6
+ metadata.gz: 89c3096213692740b547721a0786fa83451c0ee4413ceb74de005d0a5e52fc20f20cda19f2fa5273d99326e49a7e01072443f93ef7b7314472d6162d0d43e197
7
+ data.tar.gz: 01f3a8b758ae009f4aae289c47e524ffdbed18cdb768733af8bff92c0c94620e6a2f1b0616590b5f5d316d88c2261507f9035fa4f05b89a1834092b910394e76
data/.rubocop.yml ADDED
@@ -0,0 +1,16 @@
1
+ inherit_gem:
2
+ onkcop:
3
+ - "config/rubocop.yml"
4
+ # uncomment if use rails cops
5
+ # - "config/rails.yml"
6
+ # uncomment if use rspec cops
7
+ # - "config/rspec.yml"
8
+
9
+ AllCops:
10
+ TargetRubyVersion: 2.4
11
+
12
+ Style/PreferredHashMethods:
13
+ EnforcedStyle: short
14
+
15
+ Style/StringLiterals:
16
+ EnforcedStyle: single_quotes
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- i18n_checker (0.4.1)
4
+ i18n_checker (0.4.2)
5
5
  colorator (~> 1.1.0)
6
6
  haml_parser (~> 0.4)
7
7
  parser
@@ -23,8 +23,13 @@ GEM
23
23
  haml_parser (0.4.1)
24
24
  hirb (0.7.3)
25
25
  json (2.0.3)
26
+ onkcop (0.47.1.2)
27
+ rubocop (~> 0.47.1)
28
+ rubocop-rspec (>= 1.12.0)
26
29
  parser (2.4.0.0)
27
30
  ast (~> 2.2)
31
+ powerpack (0.1.1)
32
+ rainbow (2.2.1)
28
33
  rake (10.5.0)
29
34
  rspec (3.5.0)
30
35
  rspec-core (~> 3.5.0)
@@ -39,6 +44,15 @@ GEM
39
44
  diff-lcs (>= 1.2.0, < 2.0)
40
45
  rspec-support (~> 3.5.0)
41
46
  rspec-support (3.5.0)
47
+ rubocop (0.47.1)
48
+ parser (>= 2.3.3.1, < 3.0)
49
+ powerpack (~> 0.1)
50
+ rainbow (>= 1.99.1, < 3.0)
51
+ ruby-progressbar (~> 1.7)
52
+ unicode-display_width (~> 1.0, >= 1.0.1)
53
+ rubocop-rspec (1.13.0)
54
+ rubocop (>= 0.42.0)
55
+ ruby-progressbar (1.8.1)
42
56
  simplecov (0.12.0)
43
57
  docile (~> 1.1.0)
44
58
  json (>= 1.8, < 3)
@@ -52,6 +66,7 @@ GEM
52
66
  tins (~> 1.0)
53
67
  thor (0.19.4)
54
68
  tins (1.13.2)
69
+ unicode-display_width (1.1.3)
55
70
 
56
71
  PLATFORMS
57
72
  ruby
@@ -60,6 +75,7 @@ DEPENDENCIES
60
75
  bundler (~> 1.14)
61
76
  coveralls
62
77
  i18n_checker!
78
+ onkcop
63
79
  rake (~> 10.0)
64
80
  rspec
65
81
  simplecov
data/i18n-checker.gemspec CHANGED
@@ -4,13 +4,14 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'i18n_checker/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "i18n_checker"
7
+ spec.name = 'i18n_checker'
8
8
  spec.version = I18nChecker::VERSION
9
- spec.authors = ["holyshared"]
10
- spec.email = ["holy.shared.design@gmail.com"]
11
- spec.summary = "Verification of translation of Ruby source and Haml template"
12
- spec.description = "Verification of translation of Ruby source and Haml template"
13
- spec.homepage = "https://github.com/holyshared/i18n-checker"
9
+ spec.licenses = ['MIT']
10
+ spec.authors = ['holyshared']
11
+ spec.email = ['holy.shared.design@gmail.com']
12
+ spec.summary = 'Verification of translation of Ruby source and Haml template'
13
+ spec.description = 'Verification of translation of Ruby source and Haml template'
14
+ spec.homepage = 'https://github.com/holyshared/i18n-checker'
14
15
 
15
16
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
16
17
  f.match(%r{^(test|spec|features)/})
@@ -21,10 +22,11 @@ Gem::Specification.new do |spec|
21
22
  spec.add_dependency 'haml_parser', '~> 0.4'
22
23
  spec.add_dependency 'colorator', '~> 1.1.0'
23
24
  spec.add_dependency 'parser'
24
- spec.add_development_dependency 'bundler','~> 1.14'
25
+ spec.add_development_dependency 'bundler', '~> 1.14'
25
26
  spec.add_development_dependency 'rake', '~> 10.0'
26
27
  spec.add_development_dependency 'rspec'
27
28
  spec.add_development_dependency 'simplecov'
28
29
  spec.add_development_dependency 'simplecov-console'
29
30
  spec.add_development_dependency 'coveralls'
31
+ spec.add_development_dependency 'onkcop'
30
32
  end
@@ -17,7 +17,7 @@ module I18nChecker
17
17
 
18
18
  def read(file)
19
19
  return files[file] if files.key?(file)
20
- files[file] = I18nChecker::Cache::File::of(file)
20
+ files[file] = I18nChecker::Cache::File.of(file)
21
21
  files[file]
22
22
  end
23
23
  end
@@ -27,7 +27,7 @@ module I18nChecker
27
27
 
28
28
  class << self
29
29
  def of(file)
30
- new(file, Lines::of(::File.read(file)))
30
+ new(file, Lines.of(::File.read(file)))
31
31
  end
32
32
  end
33
33
 
@@ -72,8 +72,8 @@ module I18nChecker
72
72
  end
73
73
 
74
74
  def [](scope)
75
- return lines_of(scope) if scope.kind_of?(Range)
76
- return line_of(scope) if scope.kind_of?(Integer)
75
+ return lines_of(scope) if scope.is_a?(Range)
76
+ return line_of(scope) if scope.is_a?(Integer)
77
77
  end
78
78
 
79
79
  def line_of(line_number)
@@ -12,16 +12,16 @@ module I18nChecker
12
12
 
13
13
  private
14
14
 
15
- def detect_not_found(locale_text)
16
- locale_files = @locale_files.dup
17
- locale_files.delete_if { |locale_file| locale_file.include?(locale_text) }
18
- locale_files.map do |locale_file|
19
- TextResult.new(
20
- locale_text: locale_text,
21
- locale_file: locale_file
22
- )
15
+ def detect_not_found(locale_text)
16
+ locale_files = @locale_files.dup
17
+ locale_files.delete_if { |locale_file| locale_file.include?(locale_text) }
18
+ locale_files.map do |locale_file|
19
+ TextResult.new(
20
+ locale_text: locale_text,
21
+ locale_file: locale_file
22
+ )
23
+ end
23
24
  end
24
- end
25
25
  end
26
26
  end
27
27
  end
@@ -15,7 +15,7 @@ module I18nChecker
15
15
 
16
16
  private
17
17
 
18
- attr_reader :locale_file, :locale_text
18
+ attr_reader :locale_file, :locale_text
19
19
  end
20
20
  end
21
21
  end
@@ -23,39 +23,39 @@ module I18nChecker
23
23
 
24
24
  private
25
25
 
26
- def read_template_file(template_file)
27
- file_caches.read(template_file).to_s
28
- end
29
-
30
- def collect_locale_texts(ast)
31
- locale_texts = []
32
- locale_texts << collect_locale_text(ast)
33
- return unless ast.respond_to?(:children)
34
- locale_texts << ast.children.map { |child| collect_locale_texts(child) }
35
- locale_texts.flatten.compact
36
- end
37
-
38
- def collect_locale_text(ast)
39
- return locale_text_from_script(ast) if ast.kind_of?(HamlParser::Ast::Script)
40
- return unless ast.respond_to?(:oneline_child)
41
- return unless ast.oneline_child.kind_of?(HamlParser::Ast::Script)
42
- locale_text_from_script(ast.oneline_child)
43
- end
44
-
45
- def locale_text_from_script(script_node)
46
- return unless translate_script = script_node.script.match(/^t\(\'+(.+)\'+\)$/)
47
-
48
- locale_text = translate_script[1]
49
- file_cache = file_caches.read(script_node.filename)
50
- column = file_cache[script_node.lineno].start_of(locale_text)
51
-
52
- I18nChecker::Locale::Text.new(
53
- file: script_node.filename,
54
- line: script_node.lineno,
55
- column: column,
56
- text: locale_text
57
- )
58
- end
26
+ def read_template_file(template_file)
27
+ file_caches.read(template_file).to_s
28
+ end
29
+
30
+ def collect_locale_texts(ast)
31
+ locale_texts = []
32
+ locale_texts << collect_locale_text(ast)
33
+ return unless ast.respond_to?(:children)
34
+ locale_texts << ast.children.map { |child| collect_locale_texts(child) }
35
+ locale_texts.flatten.compact
36
+ end
37
+
38
+ def collect_locale_text(ast)
39
+ return locale_text_from_script(ast) if ast.is_a?(HamlParser::Ast::Script)
40
+ return unless ast.respond_to?(:oneline_child)
41
+ return unless ast.oneline_child.is_a?(HamlParser::Ast::Script)
42
+ locale_text_from_script(ast.oneline_child)
43
+ end
44
+
45
+ def locale_text_from_script(script_node)
46
+ return unless translate_script = script_node.script.match(/^t\(\'+(.+)\'+\)$/)
47
+
48
+ locale_text = translate_script[1]
49
+ file_cache = file_caches.read(script_node.filename)
50
+ column = file_cache[script_node.lineno].start_of(locale_text)
51
+
52
+ I18nChecker::Locale::Text.new(
53
+ file: script_node.filename,
54
+ line: script_node.lineno,
55
+ column: column,
56
+ text: locale_text
57
+ )
58
+ end
59
59
  end
60
60
  end
61
61
  end
@@ -22,23 +22,23 @@ module I18nChecker
22
22
 
23
23
  private
24
24
 
25
- def buffer_of(source_file)
26
- source = file_caches.read(source_file).to_s
27
- source_buffer = Parser::Source::Buffer.new('(string)')
28
- source_buffer.source = source
29
- source_buffer
30
- end
31
-
32
- def parse_source(source_file)
33
- parser = Parser::CurrentRuby.new
34
- parser.parse(buffer_of(source_file))
35
- end
36
-
37
- def process(source_file)
38
- processor = I18nChecker::Locale::TextProcessor.new(file: source_file)
39
- processor.process(parse_source(source_file))
40
- processor.locale_texts
41
- end
25
+ def buffer_of(source_file)
26
+ source = file_caches.read(source_file).to_s
27
+ source_buffer = Parser::Source::Buffer.new('(string)')
28
+ source_buffer.source = source
29
+ source_buffer
30
+ end
31
+
32
+ def parse_source(source_file)
33
+ parser = Parser::CurrentRuby.new
34
+ parser.parse(buffer_of(source_file))
35
+ end
36
+
37
+ def process(source_file)
38
+ processor = I18nChecker::Locale::TextProcessor.new(file: source_file)
39
+ processor.process(parse_source(source_file))
40
+ processor.locale_texts
41
+ end
42
42
  end
43
43
  end
44
44
  end
@@ -9,6 +9,7 @@ module I18nChecker
9
9
  def load_yaml(s)
10
10
  new(YAML.load(s))
11
11
  end
12
+
12
13
  def load_yaml_file(yaml_file)
13
14
  load_yaml(::File.open(yaml_file, &:read))
14
15
  end
@@ -26,19 +27,19 @@ module I18nChecker
26
27
 
27
28
  private
28
29
 
29
- def compact_of(values={}, path=KeyPath.new)
30
- result = {}
31
- values.each_with_index do |(i, v)|
32
- path.move_to(i)
33
- if v.is_a?(Hash)
34
- result.merge!(compact_of(v, path))
35
- else
36
- result[path.to_s] = v
30
+ def compact_of(values = {}, path = KeyPath.new)
31
+ result = {}
32
+ values.each_with_index do |(i, v)|
33
+ path.move_to(i)
34
+ if v.is_a?(Hash)
35
+ result.merge!(compact_of(v, path))
36
+ else
37
+ result[path.to_s] = v
38
+ end
39
+ path.leave
37
40
  end
38
- path.leave
41
+ result
39
42
  end
40
- result
41
- end
42
43
  end
43
44
  end
44
45
  end
@@ -20,7 +20,7 @@ module I18nChecker
20
20
 
21
21
  private
22
22
 
23
- attr_reader :locale_files
23
+ attr_reader :locale_files
24
24
  end
25
25
  end
26
26
  end
@@ -34,8 +34,7 @@ module I18nChecker
34
34
 
35
35
  private
36
36
 
37
- attr_reader :texts
37
+ attr_reader :texts
38
38
  end
39
39
  end
40
40
  end
41
-
@@ -1,7 +1,7 @@
1
- require "i18n_checker/locale/key_path"
2
- require "i18n_checker/locale/file"
3
- require "i18n_checker/locale/files"
4
- require "i18n_checker/locale/collector"
1
+ require 'i18n_checker/locale/key_path'
2
+ require 'i18n_checker/locale/file'
3
+ require 'i18n_checker/locale/files'
4
+ require 'i18n_checker/locale/collector'
5
5
 
6
6
  module I18nChecker
7
7
  module Locale
@@ -1,6 +1,6 @@
1
- require "i18n_checker/detector/locale_text_not_found"
2
- require "i18n_checker/detector/text_result"
3
- require "i18n_checker/detector/detected_result"
1
+ require 'i18n_checker/detector/locale_text_not_found'
2
+ require 'i18n_checker/detector/text_result'
3
+ require 'i18n_checker/detector/detected_result'
4
4
 
5
5
  module I18nChecker
6
6
  class LocaleTextNotFoundChecker
@@ -12,7 +12,7 @@ module I18nChecker
12
12
 
13
13
  def check
14
14
  not_found_detector = I18nChecker::Detector::LocaleTextNotFound.new(@locale_files)
15
- not_found_result = @locale_texts.detect(not_found_detector)
15
+ not_found_result = @locale_texts.detect(not_found_detector)
16
16
  @reporter.report not_found_result
17
17
  yield not_found_result if block_given?
18
18
  end
@@ -3,7 +3,7 @@ require 'rake/tasklib'
3
3
  require 'i18n_checker/cache'
4
4
  require 'i18n_checker/locale'
5
5
  require 'i18n_checker/reporter'
6
- require "i18n_checker/locale_text_not_found_checker"
6
+ require 'i18n_checker/locale_text_not_found_checker'
7
7
 
8
8
  module I18nChecker
9
9
  class RakeTask < ::Rake::TaskLib
@@ -18,7 +18,7 @@ module I18nChecker
18
18
  @source_paths = FileList['app/views/*', 'app/controllers/*', 'app/jobs/*', 'app/models/*', 'app/helpers/*']
19
19
  @locale_file_paths = FileList['config/locales/*']
20
20
  @logger = Logger.new(STDOUT)
21
- @logger.formatter = proc {|severity, datetime, progname, message|
21
+ @logger.formatter = proc { |_severity, _datetime, _progname, message|
22
22
  "#{message}\n"
23
23
  }
24
24
  @reporter = I18nChecker::Reporter::DefaultReporter.new(logger: logger)
@@ -28,20 +28,20 @@ module I18nChecker
28
28
 
29
29
  private
30
30
 
31
- def define
32
- desc 'Check language files and templates.'
33
- task(name) { run_task }
34
- end
31
+ def define
32
+ desc 'Check language files and templates.'
33
+ task(name) { run_task }
34
+ end
35
35
 
36
- def run_task
37
- checker = I18nChecker::LocaleTextNotFoundChecker.new(
38
- reporter: reporter,
39
- source_paths: source_paths,
40
- locale_file_paths: locale_file_paths
41
- )
42
- checker.check do |result|
43
- exit 1 unless result.empty?
36
+ def run_task
37
+ checker = I18nChecker::LocaleTextNotFoundChecker.new(
38
+ reporter: reporter,
39
+ source_paths: source_paths,
40
+ locale_file_paths: locale_file_paths
41
+ )
42
+ checker.check do |result|
43
+ exit 1 unless result.empty?
44
+ end
44
45
  end
45
- end
46
46
  end
47
47
  end
@@ -3,7 +3,7 @@ require 'colorator'
3
3
  module I18nChecker
4
4
  module Reporter
5
5
  class DefaultReporter < DetectResultReporter
6
- CHECK_COMPLETED = 'Translation text checking is complete.'
6
+ CHECK_COMPLETED = 'Translation text checking is complete.'.freeze
7
7
 
8
8
  def report(result)
9
9
  return passed if result.empty?
@@ -19,7 +19,7 @@ module I18nChecker
19
19
  logger.info CHECK_COMPLETED.red
20
20
  logger.info "There are settings where translated text can not be found\n".red
21
21
  result.locale_texts.each do |locale_text|
22
- logger.info "#{locale_text.file.cyan}"
22
+ logger.info locale_text.file.cyan.to_s
23
23
  logger.info " line:#{locale_text.line}, column:#{locale_text.column} - #{locale_text.lang}.#{locale_text.text}"
24
24
  end
25
25
  end
@@ -9,7 +9,7 @@ module I18nChecker
9
9
 
10
10
  private
11
11
 
12
- attr_reader :logger
12
+ attr_reader :logger
13
13
  end
14
14
  end
15
15
  end
@@ -1,5 +1,5 @@
1
- require "i18n_checker/reporter/detect_result_reporter"
2
- require "i18n_checker/reporter/default_reporter"
1
+ require 'i18n_checker/reporter/detect_result_reporter'
2
+ require 'i18n_checker/reporter/default_reporter'
3
3
 
4
4
  module I18nChecker
5
5
  module Reporter
@@ -1,3 +1,3 @@
1
1
  module I18nChecker
2
- VERSION = "0.4.1"
2
+ VERSION = '0.4.2'.freeze
3
3
  end
data/lib/i18n_checker.rb CHANGED
@@ -1,22 +1,22 @@
1
- require "i18n_checker/version"
2
- require "i18n_checker/rake_task"
3
- require "i18n_checker/collectible"
4
- require "i18n_checker/cache"
5
- require "i18n_checker/locale"
6
- require "i18n_checker/locale/text_processor"
7
- require "i18n_checker/locale/collector/haml"
8
- require "i18n_checker/locale/collector/ruby"
9
- require "i18n_checker/locale/text"
10
- require "i18n_checker/locale/texts"
11
- require "i18n_checker/locale/key_path"
12
- require "i18n_checker/locale/file"
13
- require "i18n_checker/locale/files"
14
- require "i18n_checker/detector/locale_text_not_found"
15
- require "i18n_checker/detector/text_result"
16
- require "i18n_checker/detector/detected_result"
17
- require "i18n_checker/reporter/detect_result_reporter"
18
- require "i18n_checker/reporter/default_reporter"
19
- require "i18n_checker/locale_text_not_found_checker"
1
+ require 'i18n_checker/version'
2
+ require 'i18n_checker/rake_task'
3
+ require 'i18n_checker/collectible'
4
+ require 'i18n_checker/cache'
5
+ require 'i18n_checker/locale'
6
+ require 'i18n_checker/locale/text_processor'
7
+ require 'i18n_checker/locale/collector/haml'
8
+ require 'i18n_checker/locale/collector/ruby'
9
+ require 'i18n_checker/locale/text'
10
+ require 'i18n_checker/locale/texts'
11
+ require 'i18n_checker/locale/key_path'
12
+ require 'i18n_checker/locale/file'
13
+ require 'i18n_checker/locale/files'
14
+ require 'i18n_checker/detector/locale_text_not_found'
15
+ require 'i18n_checker/detector/text_result'
16
+ require 'i18n_checker/detector/detected_result'
17
+ require 'i18n_checker/reporter/detect_result_reporter'
18
+ require 'i18n_checker/reporter/default_reporter'
19
+ require 'i18n_checker/locale_text_not_found_checker'
20
20
 
21
21
  module I18nChecker
22
22
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: i18n_checker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - holyshared
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: onkcop
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
139
153
  description: Verification of translation of Ruby source and Haml template
140
154
  email:
141
155
  - holy.shared.design@gmail.com
@@ -147,6 +161,7 @@ files:
147
161
  - ".editorconfig"
148
162
  - ".gitignore"
149
163
  - ".rspec"
164
+ - ".rubocop.yml"
150
165
  - ".travis.yml"
151
166
  - Gemfile
152
167
  - Gemfile.lock
@@ -178,7 +193,8 @@ files:
178
193
  - lib/i18n_checker/version.rb
179
194
  - screenshot.png
180
195
  homepage: https://github.com/holyshared/i18n-checker
181
- licenses: []
196
+ licenses:
197
+ - MIT
182
198
  metadata: {}
183
199
  post_install_message:
184
200
  rdoc_options: []