polyglot_cli 0.1.5 → 0.2.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 +5 -5
- data/.ruby-version +1 -1
- data/lib/polyglot_cli/commands/push.rb +3 -2
- data/lib/polyglot_cli/commands/setup.rb +18 -3
- data/lib/polyglot_cli/helpers/general.rb +7 -3
- data/lib/polyglot_cli/resources/base.rb +11 -3
- data/lib/polyglot_cli/version.rb +1 -1
- data/polyglot_cli.gemspec +3 -3
- metadata +15 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ff5f065d97ab493e63b3bf053b1cd00ef76c7ce61b18d89b7635e86e219f08b2
|
4
|
+
data.tar.gz: 9d7e56011431cef1308a4a280fb1f100690a0b972e3b78c4c27def0332e38d25
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d950cd0f92427923d409d71feecb1698cb79c46e7b7db56dffc6fc0a84a64d31a49f9e97a0b39e836cdecb4b97ffc40a8e85af2ccecc53ec90292fbe47a42b4c
|
7
|
+
data.tar.gz: 3e396a1f14590dd52aaa61736201bf3e69470a17d2844d2847cb55bdeff74a93a53484433eb2ea043becac2fd2696ffa1d57bcef597d347603848d5b1117588d
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.7.1
|
@@ -53,12 +53,12 @@ module PolyglotCli
|
|
53
53
|
end
|
54
54
|
|
55
55
|
def create_translation_key(name)
|
56
|
-
PolyglotCli::Resource::TranslationKey.token(token).create(name: name, project_id: project_id).id
|
56
|
+
PolyglotCli::Resource::TranslationKey.with_subdomain(subdomain).token(token).create(name: name, project_id: project_id).id
|
57
57
|
end
|
58
58
|
|
59
59
|
def create_translation(value, key_name, key_id, language_id)
|
60
60
|
prompt.ok("Creating translation for key: #{key_name}...")
|
61
|
-
PolyglotCli::Resource::Translation.token(token).create(
|
61
|
+
PolyglotCli::Resource::Translation.with_subdomain(subdomain).token(token).create(
|
62
62
|
value: value,
|
63
63
|
translation_key_id: key_id,
|
64
64
|
language_id: language_id
|
@@ -78,6 +78,7 @@ module PolyglotCli
|
|
78
78
|
prompt.say('Getting translation keys...')
|
79
79
|
@translation_keys =
|
80
80
|
PolyglotCli::Resource::TranslationKey
|
81
|
+
.with_subdomain(subdomain)
|
81
82
|
.token(token)
|
82
83
|
.depaginate(project_id: project_id)
|
83
84
|
.each_with_object({}) do |translation_key, hash|
|
@@ -17,6 +17,7 @@ module PolyglotCli
|
|
17
17
|
|
18
18
|
def call
|
19
19
|
@config = {
|
20
|
+
subdomain: subdomain_prompt,
|
20
21
|
project_id: project_id_prompt,
|
21
22
|
locale_path: locale_path_prompt
|
22
23
|
}
|
@@ -26,6 +27,12 @@ module PolyglotCli
|
|
26
27
|
prompt.error('Could not find any projects. Please try a new search.')
|
27
28
|
end
|
28
29
|
|
30
|
+
# override subdomain for the setup,
|
31
|
+
# use the cached value (from prompt)
|
32
|
+
# instead of reading it from the config file
|
33
|
+
# (which does not exist yet during the setup)
|
34
|
+
attr_reader :subdomain
|
35
|
+
|
29
36
|
private
|
30
37
|
|
31
38
|
def locale_mapping
|
@@ -55,8 +62,16 @@ module PolyglotCli
|
|
55
62
|
prompt.select("Choose a locale for #{language}: ", locales)
|
56
63
|
end
|
57
64
|
|
65
|
+
def subdomain_prompt
|
66
|
+
@subdomain = prompt.ask('Enter your subdomain: ', default: 'infinum')
|
67
|
+
end
|
68
|
+
|
58
69
|
def project_id_prompt
|
59
|
-
|
70
|
+
if filtered_projects.any?
|
71
|
+
prompt.select('Choose a project: ', filtered_projects)
|
72
|
+
else
|
73
|
+
raise StandardError, "No projects for the subdomain #{subdomain}!"
|
74
|
+
end
|
60
75
|
end
|
61
76
|
|
62
77
|
def locale_path_prompt
|
@@ -65,13 +80,13 @@ module PolyglotCli
|
|
65
80
|
|
66
81
|
def projects
|
67
82
|
prompt.say('Getting projects...')
|
68
|
-
PolyglotCli::Resource::Project.token(token).depaginate.each_with_object({}) do |r, hash|
|
83
|
+
PolyglotCli::Resource::Project.with_subdomain(subdomain).token(token).depaginate.each_with_object({}) do |r, hash|
|
69
84
|
hash[r.name] = r.id
|
70
85
|
end
|
71
86
|
end
|
72
87
|
|
73
88
|
def filtered_projects
|
74
|
-
projects.select { |key, _id| key[/^(.*?(#{option_query})[^$]*)$/i] }.sort_by { |p| p[0].downcase }.to_h
|
89
|
+
@filtered_projects ||= projects.select { |key, _id| key[/^(.*?(#{option_query})[^$]*)$/i] }.sort_by { |p| p[0].downcase }.to_h
|
75
90
|
end
|
76
91
|
|
77
92
|
def option_query
|
@@ -5,6 +5,10 @@ module PolyglotCli
|
|
5
5
|
@token ||= PolyglotCli::IO::Token.read
|
6
6
|
end
|
7
7
|
|
8
|
+
def subdomain
|
9
|
+
config[:subdomain]
|
10
|
+
end
|
11
|
+
|
8
12
|
def config
|
9
13
|
@config ||= PolyglotCli::IO::Config.read
|
10
14
|
end
|
@@ -15,7 +19,7 @@ module PolyglotCli
|
|
15
19
|
|
16
20
|
def project
|
17
21
|
prompt.say('Getting project...')
|
18
|
-
PolyglotCli::Resource::Project.token(token).find(project_id).first
|
22
|
+
PolyglotCli::Resource::Project.with_subdomain(subdomain).token(token).find(project_id).first
|
19
23
|
end
|
20
24
|
|
21
25
|
def server_changed?
|
@@ -27,7 +31,7 @@ module PolyglotCli
|
|
27
31
|
prompt.say('Getting languages...')
|
28
32
|
select_languages(
|
29
33
|
locale,
|
30
|
-
PolyglotCli::Resource::Language.token(token).depaginate(project_id: project_id)
|
34
|
+
PolyglotCli::Resource::Language.with_subdomain(subdomain).token(token).depaginate(project_id: project_id)
|
31
35
|
)
|
32
36
|
end
|
33
37
|
|
@@ -51,7 +55,7 @@ module PolyglotCli
|
|
51
55
|
|
52
56
|
def remote_translations(language)
|
53
57
|
prompt.say("Getting #{language.name} translations...")
|
54
|
-
PolyglotCli::Resource::Translation.token(token).depaginate(project_id: project_id, language_id: language.id)
|
58
|
+
PolyglotCli::Resource::Translation.with_subdomain(subdomain).token(token).depaginate(project_id: project_id, language_id: language.id)
|
55
59
|
end
|
56
60
|
end
|
57
61
|
end
|
@@ -3,12 +3,20 @@ module PolyglotCli
|
|
3
3
|
class Base < JsonApiClient::Resource
|
4
4
|
extend PolyglotCli::Helper::Depaginate
|
5
5
|
|
6
|
-
self.site =
|
7
|
-
|
6
|
+
self.site = case ENV['POLYGLOT_CLI_ENV']
|
7
|
+
when 'development', 'test'
|
8
|
+
'http://polyglothq.test/api/v2/'
|
9
|
+
when 'staging'
|
10
|
+
'https://staging-polyglothq.com/api/v2/'
|
8
11
|
else
|
9
|
-
'https://
|
12
|
+
'https://polyglothq.com/api/v2/'
|
10
13
|
end
|
11
14
|
|
15
|
+
def self.with_subdomain(subdomain)
|
16
|
+
self.site = site.sub(/http(s)?\:\/\//, "http\\1://#{subdomain}.")
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
12
20
|
def self.token(token)
|
13
21
|
self.connection_options = { headers: { 'X-Auth-Token' => token } }
|
14
22
|
self
|
data/lib/polyglot_cli/version.rb
CHANGED
data/polyglot_cli.gemspec
CHANGED
@@ -23,15 +23,15 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
24
24
|
spec.require_paths = ['lib']
|
25
25
|
|
26
|
-
spec.add_development_dependency 'bundler'
|
27
|
-
spec.add_development_dependency 'rake'
|
26
|
+
spec.add_development_dependency 'bundler'
|
27
|
+
spec.add_development_dependency 'rake'
|
28
28
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
29
29
|
spec.add_development_dependency 'pry-byebug', '~> 3.4'
|
30
30
|
spec.add_development_dependency 'vcr', '~> 3.0'
|
31
31
|
spec.add_development_dependency 'simplecov'
|
32
32
|
spec.add_development_dependency 'codeclimate-test-reporter', '~> 1.0'
|
33
33
|
spec.add_development_dependency 'webmock', '~> 2.3.2'
|
34
|
-
spec.add_dependency 'json_api_client'
|
34
|
+
spec.add_dependency 'json_api_client', '~> 1.4.0' # newer versions have some breaking changes with the pagination; issue: https://github.com/JsonApiClient/json_api_client/issues/365
|
35
35
|
spec.add_dependency 'commander'
|
36
36
|
spec.add_dependency 'tty-prompt'
|
37
37
|
end
|
metadata
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: polyglot_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Grgurevic
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-07-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -126,16 +126,16 @@ dependencies:
|
|
126
126
|
name: json_api_client
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - "
|
129
|
+
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
131
|
+
version: 1.4.0
|
132
132
|
type: :runtime
|
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:
|
138
|
+
version: 1.4.0
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: commander
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -228,8 +228,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
228
228
|
- !ruby/object:Gem::Version
|
229
229
|
version: '0'
|
230
230
|
requirements: []
|
231
|
-
|
232
|
-
rubygems_version: 2.6.7
|
231
|
+
rubygems_version: 3.1.2
|
233
232
|
signing_key:
|
234
233
|
specification_version: 4
|
235
234
|
summary: A ruby cli for pulling and pushing polyglot translations
|