lokalise_manager 1.2.0 → 1.2.1

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: 49d525043d80bf4643208f1de37d06bdd12826c04b01cbde07ae566e5ab1e056
4
- data.tar.gz: a3f7ea97ae346b93220677342e771f2e916112572d4c54c779664c7a0651f2b3
3
+ metadata.gz: 33815f129df22f7a27f91689cad944193aca9b992f14e7115a2737088785d3b3
4
+ data.tar.gz: 1fc5a893bb917bac5afd39f2b35dbbb54286b878dce42f0805135105490520b5
5
5
  SHA512:
6
- metadata.gz: 59b08352f934330e07762d73066afadcb440478ef3548686b1ef32ab6ae3a0fb645a4da55cb7c75c02ff42d49ea73c82728f8247a6e78531de1154c40573f002
7
- data.tar.gz: 98337218aa0519ab6d2982b38ce7582276301692c6cde59f5d2d75039a1951b1d8b7769584d6884ae3994286998299826cedadd8eba9ae3a5f65d87a1a9dabc9
6
+ metadata.gz: 7fecf43ac4f105be85fe2e4548643849b78a239ec523a79b37fec4b6acbeddf319dd4ac594e5caf28e4b174fed76e05b18d3bf6d6343d055daa2115d661b41c4
7
+ data.tar.gz: 85f6c703a1ee2107cfe165b7c652cc81d2c2f0a0ae2a02af44cfb0e0cf31a185e5cbe3cbe27c8c53d411a8dd4f3046a98b02dadde3d983855e02cead3347cfb4
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.2.1 (26-Nov-21)
4
+
5
+ * Use refinements instead of monkey patching to add hash methods
6
+ * Don't use `OpenStruct` anymore to store config opts
7
+ * Minor fixes
8
+
3
9
  ## 1.2.0 (26-Oct-21)
4
10
 
5
11
  * Add a new option `:silent_mode` which is `false` by default. When silent mode is enabled, no debug info will be printed out to `$stdout`. The only exception are the "safe mode" messages — you'll still be prompted to continue if the target directory is not empty.
@@ -2,11 +2,12 @@
2
2
 
3
3
  require 'ruby-lokalise-api'
4
4
  require 'pathname'
5
- require 'ostruct'
6
5
 
7
6
  module LokaliseManager
8
7
  module TaskDefinitions
9
8
  class Base
9
+ using LokaliseManager::Utils::HashUtils
10
+
10
11
  attr_accessor :config
11
12
 
12
13
  # Creates a new importer or exporter. It accepts custom config and merges it
@@ -23,7 +24,11 @@ module LokaliseManager
23
24
  opts[reader.to_sym] = global_config.send(reader)
24
25
  end
25
26
 
26
- @config = OpenStruct.new primary_opts.deep_merge(custom_opts)
27
+ all_opts = primary_opts.deep_merge(custom_opts)
28
+
29
+ config_klass = Struct.new(*all_opts.keys, keyword_init: true)
30
+
31
+ @config = config_klass.new all_opts
27
32
  end
28
33
 
29
34
  # Creates a Lokalise API client
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Taken from https://github.com/rails/rails/blob/83217025a171593547d1268651b446d3533e2019/activesupport/lib/active_support/core_ext/hash/deep_merge.rb
4
+
5
+ module LokaliseManager
6
+ module Utils
7
+ module HashUtils
8
+ refine Hash do
9
+ def deep_merge(other_hash, &block)
10
+ dup.deep_merge!(other_hash, &block)
11
+ end
12
+
13
+ # Same as +deep_merge+, but modifies +self+.
14
+ def deep_merge!(other_hash, &block)
15
+ merge!(other_hash) do |key, this_val, other_val|
16
+ if this_val.is_a?(Hash) && other_val.is_a?(Hash)
17
+ this_val.deep_merge(other_val, &block)
18
+ elsif block
19
+ yield(key, this_val, other_val)
20
+ else
21
+ other_val
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LokaliseManager
4
- VERSION = '1.2.0'
4
+ VERSION = '1.2.1'
5
5
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'yaml'
4
4
 
5
- require 'ext/hash'
5
+ require 'lokalise_manager/utils/hash_utils'
6
6
 
7
7
  require 'lokalise_manager/version'
8
8
  require 'lokalise_manager/error'
@@ -32,7 +32,10 @@ Gem::Specification.new do |spec|
32
32
  spec.add_development_dependency 'rspec', '~> 3.6'
33
33
  spec.add_development_dependency 'rubocop', '~> 1.0'
34
34
  spec.add_development_dependency 'rubocop-performance', '~> 1.5'
35
- spec.add_development_dependency 'rubocop-rspec', '~> 2.5.0'
35
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.6.0'
36
36
  spec.add_development_dependency 'simplecov', '~> 0.16'
37
37
  spec.add_development_dependency 'vcr', '~> 6.0'
38
+ spec.metadata = {
39
+ 'rubygems_mfa_required' => 'true'
40
+ }
38
41
  end
@@ -19,11 +19,6 @@ describe LokaliseManager::TaskDefinitions::Base do
19
19
  expect(obj.config.project_id).to eq('345')
20
20
  expect(obj.config.token).to eq('fake')
21
21
  end
22
-
23
- it 'tes' do
24
- obj = described_class.new import_opts: {filter_langs: ['fr']}
25
- puts obj.config
26
- end
27
22
  end
28
23
 
29
24
  specify '.reset_client!' do
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- describe Hash do
3
+ describe LokaliseManager::Utils::HashUtils do
4
+ using described_class
4
5
  let(:h1) { {a: 100, b: 200, c: {c1: 100}} }
5
6
  let(:h2) { {b: 250, c: {c1: 200}} }
6
7
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lokalise_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ilya Bodrov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-26 00:00:00.000000000 Z
11
+ date: 2021-11-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-lokalise-api
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 2.5.0
131
+ version: 2.6.0
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 2.5.0
138
+ version: 2.6.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: simplecov
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -181,21 +181,21 @@ files:
181
181
  - LICENSE
182
182
  - README.md
183
183
  - Rakefile
184
- - lib/ext/hash.rb
185
184
  - lib/lokalise_manager.rb
186
185
  - lib/lokalise_manager/error.rb
187
186
  - lib/lokalise_manager/global_config.rb
188
187
  - lib/lokalise_manager/task_definitions/base.rb
189
188
  - lib/lokalise_manager/task_definitions/exporter.rb
190
189
  - lib/lokalise_manager/task_definitions/importer.rb
190
+ - lib/lokalise_manager/utils/hash_utils.rb
191
191
  - lib/lokalise_manager/version.rb
192
192
  - lokalise_manager.gemspec
193
- - spec/lib/ext/hash_spec.rb
194
193
  - spec/lib/lokalise_manager/global_config_spec.rb
195
194
  - spec/lib/lokalise_manager/task_definitions/base_spec.rb
196
195
  - spec/lib/lokalise_manager/task_definitions/exporter_spec.rb
197
196
  - spec/lib/lokalise_manager/task_definitions/importer_spec.rb
198
197
  - spec/lib/lokalise_manager_spec.rb
198
+ - spec/lib/utils/hash_utils_spec.rb
199
199
  - spec/spec_helper.rb
200
200
  - spec/support/file_manager.rb
201
201
  - spec/support/spec_addons.rb
@@ -203,7 +203,8 @@ files:
203
203
  homepage: https://github.com/bodrovis/lokalise_manager
204
204
  licenses:
205
205
  - MIT
206
- metadata: {}
206
+ metadata:
207
+ rubygems_mfa_required: 'true'
207
208
  post_install_message:
208
209
  rdoc_options: []
209
210
  require_paths:
@@ -219,17 +220,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
219
220
  - !ruby/object:Gem::Version
220
221
  version: '0'
221
222
  requirements: []
222
- rubygems_version: 3.2.29
223
+ rubygems_version: 3.2.31
223
224
  signing_key:
224
225
  specification_version: 4
225
226
  summary: Lokalise integration for Ruby
226
227
  test_files:
227
- - spec/lib/ext/hash_spec.rb
228
228
  - spec/lib/lokalise_manager/global_config_spec.rb
229
229
  - spec/lib/lokalise_manager/task_definitions/base_spec.rb
230
230
  - spec/lib/lokalise_manager/task_definitions/exporter_spec.rb
231
231
  - spec/lib/lokalise_manager/task_definitions/importer_spec.rb
232
232
  - spec/lib/lokalise_manager_spec.rb
233
+ - spec/lib/utils/hash_utils_spec.rb
233
234
  - spec/spec_helper.rb
234
235
  - spec/support/file_manager.rb
235
236
  - spec/support/spec_addons.rb
data/lib/ext/hash.rb DELETED
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Taken from https://github.com/rails/rails/blob/83217025a171593547d1268651b446d3533e2019/activesupport/lib/active_support/core_ext/hash/deep_merge.rb
4
-
5
- class Hash
6
- def deep_merge(other_hash, &block)
7
- dup.deep_merge!(other_hash, &block)
8
- end
9
-
10
- # Same as +deep_merge+, but modifies +self+.
11
- def deep_merge!(other_hash, &block)
12
- merge!(other_hash) do |key, this_val, other_val|
13
- if this_val.is_a?(Hash) && other_val.is_a?(Hash)
14
- this_val.deep_merge(other_val, &block)
15
- elsif block
16
- yield(key, this_val, other_val)
17
- else
18
- other_val
19
- end
20
- end
21
- end
22
- end