i18n_checker 0.4.1 → 0.4.2

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
  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: []