onlyoffice_language_helper 0.2.0 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 105111253f19a8664e8167c6c209b502b1b0b1ef26c13b87f5ba6810507f2f47
4
- data.tar.gz: 74b1fd7558c1e515d78fb3ef850e4abe9de650007354c2fb9a31b4d45c78d060
3
+ metadata.gz: b7dacc49bd982030e1bbeb32cef0c6cfbe05c638cde4d8e78610b000f1a8c7be
4
+ data.tar.gz: c9952a740dc42eedd48329498286e7b02777f2873b527ab782ca92c98443a531
5
5
  SHA512:
6
- metadata.gz: b1664113d988f7915c2649037eededfdd60086e16456bd0de8399bef83fa67aea7cc178a4853ac633e68aca31364e4c21e6053a067f58201e0caca3f1ab2e179
7
- data.tar.gz: 9ad83dae4e4721e5c73fbea7c18005e6169e563c89fbfcbaa057a4459c2cdcdfdae26620af0ea400feb68649d7a59e21f8b9fbcf96fd0e80f3c8c7e7d88c233b
6
+ metadata.gz: 3e572ad5b79647ad9b26a8b9102ec4de89d077f9dae5a71aeb4c08798fdbba483ffc121d7deee57929e07fed55749e9f94f3d5a96df761792691c468cc5c25f1
7
+ data.tar.gz: e7671a85fc20055c9bb782ef71bcb980ad8074543c9ef21a81ca8003a31dc273abb11c5fdc19e6707627b8d11be7e83c0a560297a6e52cd88320b46ffbef099d
@@ -10,11 +10,15 @@ module OnlyofficeLanguageHelper
10
10
  # @return [Array, String] initialized keys
11
11
  attr_accessor :api_keys
12
12
 
13
+ # Detect language of text
14
+ # @param text [String] text to detect
15
+ # @return [String] possible language
13
16
  def detect_language(text)
14
17
  change_key_on_active
15
18
  DetectLanguage.detect(text)
16
19
  end
17
20
 
21
+ # @return [Array<String>] list of all possible languages
18
22
  def all_languages
19
23
  change_key_on_active
20
24
  DetectLanguage.languages
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OnlyofficeLanguageHelper
4
+ # @return [String] name of gem
4
5
  NAME = 'onlyoffice_language_helper'
5
6
  end
@@ -21,6 +21,7 @@ module OnlyofficeLanguageHelper
21
21
  include HTTParty
22
22
  attr_reader :config
23
23
 
24
+ # Configure Spellchecker
24
25
  def self.configure
25
26
  OnlyofficeLoggerHelper.log('Begin configuring SpellChecker')
26
27
  config
@@ -31,6 +32,9 @@ module OnlyofficeLanguageHelper
31
32
  OnlyofficeLoggerHelper.log('Configuring complete!')
32
33
  end
33
34
 
35
+ # Check in all known dictionaries
36
+ # @param string [String] string to check
37
+ # @return [Array<Hash>] result of check
34
38
  def self.check_in_all_dictionaries(string)
35
39
  check_configuration
36
40
  @dictionaries ||= DictionariesThreads.new
@@ -40,15 +44,26 @@ module OnlyofficeLanguageHelper
40
44
  end
41
45
  end
42
46
 
47
+ # Get path to dic aff
48
+ # @param extension [String] extension of dictionaries
49
+ # @param language [String] language to get
50
+ # @return [String] path
43
51
  def self.path_to_dic_aff(extension, language = config.expected_language)
44
52
  "#{config.dictionaries_path}/dictionaries/"\
45
53
  "#{language}/#{language}.#{extension}"
46
54
  end
47
55
 
56
+ # Split text by words
57
+ # @param string [String] multi-word text
58
+ # @return [Array<String>] uniq words
48
59
  def self.split_text_by_words(string)
49
60
  string.to_s.scan(/\b[[:word:]['-]]+\b/u).uniq
50
61
  end
51
62
 
63
+ # Parse spellchecker result
64
+ # @param word [String] word to check
65
+ # @param spellcheck_result [Hash] param to set result
66
+ # @return [Hash] value of result
52
67
  def self.parse_spellcheck_result(word, spellcheck_result)
53
68
  unless spellcheck_result[config.expected_language]
54
69
  warn("Word '#{word}' was not found in "\
@@ -58,20 +73,24 @@ module OnlyofficeLanguageHelper
58
73
  { word => spellcheck_result }
59
74
  end
60
75
 
76
+ # @return [Config] get current config
61
77
  def self.config
62
78
  @config ||= Config.new
63
79
  end
64
80
 
81
+ # @return [nil] Reset config to default
65
82
  def self.reset_config
66
83
  @config = Config.new
67
84
  end
68
85
 
86
+ # @return [nil] check if current config is right
69
87
  def self.check_configuration
70
88
  return if @dictionary
71
89
 
72
90
  raise 'Call SpellChecker.configure method before using it!'
73
91
  end
74
92
 
93
+ # @return [nil] check if current language has dictonaries
75
94
  def self.check_language
76
95
  unless File.exist?(path_to_dic_aff(:dic)) ||
77
96
  File.exist?(path_to_dic_aff(:aff))
@@ -4,13 +4,16 @@ module OnlyofficeLanguageHelper
4
4
  module SpellChecker
5
5
  # Spellchecker config
6
6
  class Config
7
+ # @return [String] language to expect
7
8
  attr_accessor :expected_language
9
+ # @return [String] path to lang file
8
10
  attr_accessor :dictionaries_path
9
11
 
10
12
  def initialize
11
13
  default_configuration
12
14
  end
13
15
 
16
+ # @return [nil] default configuration for SpellChecker
14
17
  def default_configuration
15
18
  @expected_language = 'en_US'
16
19
  @dictionaries_path = File.dirname(__dir__)
@@ -21,16 +21,21 @@ module OnlyofficeLanguageHelper
21
21
  init_threads_data
22
22
  end
23
23
 
24
+ # @return [Array<Thread>] list of checker threads
24
25
  def threads
25
26
  @threads ||= init_threads
26
27
  end
27
28
 
29
+ # Check current word
30
+ # @param word [String] word to check
31
+ # @return [Hash] result of check
28
32
  def check_word(word)
29
33
  @result = {}
30
34
  @word = word.to_s
31
35
  start_threads
32
36
  end
33
37
 
38
+ # @return [Hash] start threads and return results
34
39
  def start_threads
35
40
  threads.each(&:run)
36
41
  until @result.length == @dictionaries.length
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OnlyofficeLanguageHelper
4
- VERSION = '0.2.0'
4
+ # @return [String] version of gem
5
+ VERSION = '0.3.0'
5
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onlyoffice_language_helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ONLYOFFICE
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-05-14 00:00:00.000000000 Z
12
+ date: 2020-11-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: detect_language
@@ -17,56 +17,56 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '1.0'
20
+ version: '1'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '1.0'
27
+ version: '1'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: httparty
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - "~>"
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: '0.1'
34
+ version: 0.10.0
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - "~>"
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: '0.1'
41
+ version: 0.10.0
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: hunspell-ffi
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '0.1'
48
+ version: '0'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '0.1'
55
+ version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: onlyoffice_file_helper
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0.1'
62
+ version: '0'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '0.1'
69
+ version: '0'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: onlyoffice_logger_helper
72
72
  requirement: !ruby/object:Gem::Requirement
@@ -87,28 +87,126 @@ dependencies:
87
87
  requirements:
88
88
  - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: '1.0'
90
+ version: '1'
91
91
  type: :runtime
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '1.0'
97
+ version: '1'
98
+ - !ruby/object:Gem::Dependency
99
+ name: codecov
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: overcommit
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
98
126
  - !ruby/object:Gem::Dependency
99
127
  name: rake
100
128
  requirement: !ruby/object:Gem::Requirement
101
129
  requirements:
102
130
  - - "~>"
103
131
  - !ruby/object:Gem::Version
104
- version: '13.0'
132
+ version: '13'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '13'
140
+ - !ruby/object:Gem::Dependency
141
+ name: rspec
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: '3'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: '3'
154
+ - !ruby/object:Gem::Dependency
155
+ name: rubocop
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - "~>"
159
+ - !ruby/object:Gem::Version
160
+ version: '1'
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - "~>"
166
+ - !ruby/object:Gem::Version
167
+ version: '1'
168
+ - !ruby/object:Gem::Dependency
169
+ name: rubocop-performance
170
+ requirement: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - "~>"
173
+ - !ruby/object:Gem::Version
174
+ version: '1'
105
175
  type: :development
106
176
  prerelease: false
107
177
  version_requirements: !ruby/object:Gem::Requirement
108
178
  requirements:
109
179
  - - "~>"
110
180
  - !ruby/object:Gem::Version
111
- version: '13.0'
181
+ version: '1'
182
+ - !ruby/object:Gem::Dependency
183
+ name: rubocop-rspec
184
+ requirement: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - "~>"
187
+ - !ruby/object:Gem::Version
188
+ version: '2'
189
+ type: :development
190
+ prerelease: false
191
+ version_requirements: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - "~>"
194
+ - !ruby/object:Gem::Version
195
+ version: '2'
196
+ - !ruby/object:Gem::Dependency
197
+ name: yard
198
+ requirement: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: 0.9.20
203
+ type: :development
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - ">="
208
+ - !ruby/object:Gem::Version
209
+ version: 0.9.20
112
210
  description: ONLYOFFICE Helper Gem for language operation. Used in QA
113
211
  email:
114
212
  - shockwavenn@gmail.com
@@ -225,15 +323,15 @@ files:
225
323
  - lib/onlyoffice_language_helper/spell_checker/config.rb
226
324
  - lib/onlyoffice_language_helper/spell_checker/dictionaries_threads.rb
227
325
  - lib/onlyoffice_language_helper/version.rb
228
- homepage: https://github.com/onlyoffice-testing-robot/onlyoffice_language_helper
326
+ homepage: https://github.com/ONLYOFFICE-QA/onlyoffice_language_helper
229
327
  licenses:
230
328
  - AGPL-3.0
231
329
  metadata:
232
- bug_tracker_uri: https://github.com/onlyoffice-testing-robot/onlyoffice_language_helper/issues
233
- changelog_uri: https://github.com/onlyoffice-testing-robot/onlyoffice_language_helper/blob/master/CHANGELOG.md
330
+ bug_tracker_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_language_helper/issues
331
+ changelog_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_language_helper/blob/master/CHANGELOG.md
234
332
  documentation_uri: https://www.rubydoc.info/gems/onlyoffice_language_helper
235
- homepage_uri: https://github.com/onlyoffice-testing-robot/onlyoffice_language_helper
236
- source_code_uri: https://github.com/onlyoffice-testing-robot/onlyoffice_language_helper
333
+ homepage_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_language_helper
334
+ source_code_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_language_helper
237
335
  post_install_message:
238
336
  rdoc_options: []
239
337
  require_paths:
@@ -242,14 +340,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
242
340
  requirements:
243
341
  - - ">="
244
342
  - !ruby/object:Gem::Version
245
- version: '0'
343
+ version: '2.5'
246
344
  required_rubygems_version: !ruby/object:Gem::Requirement
247
345
  requirements:
248
346
  - - ">="
249
347
  - !ruby/object:Gem::Version
250
348
  version: '0'
251
349
  requirements: []
252
- rubygems_version: 3.1.2
350
+ rubygems_version: 3.1.4
253
351
  signing_key:
254
352
  specification_version: 4
255
353
  summary: ONLYOFFICE Helper Gem for language operation