lokalise_manager 1.2.0 → 1.2.1
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 +4 -4
- data/CHANGELOG.md +6 -0
- data/lib/lokalise_manager/task_definitions/base.rb +7 -2
- data/lib/lokalise_manager/utils/hash_utils.rb +28 -0
- data/lib/lokalise_manager/version.rb +1 -1
- data/lib/lokalise_manager.rb +1 -1
- data/lokalise_manager.gemspec +4 -1
- data/spec/lib/lokalise_manager/task_definitions/base_spec.rb +0 -5
- data/spec/lib/{ext/hash_spec.rb → utils/hash_utils_spec.rb} +2 -1
- metadata +10 -9
- data/lib/ext/hash.rb +0 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 33815f129df22f7a27f91689cad944193aca9b992f14e7115a2737088785d3b3
|
4
|
+
data.tar.gz: 1fc5a893bb917bac5afd39f2b35dbbb54286b878dce42f0805135105490520b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
data/lib/lokalise_manager.rb
CHANGED
data/lokalise_manager.gemspec
CHANGED
@@ -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.
|
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
|
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.
|
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-
|
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.
|
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.
|
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.
|
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
|