phrase 0.4.16 → 0.4.17
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.
- data/lib/phrase/api/client.rb +11 -4
- data/lib/phrase/tool/commands.rb +3 -1
- data/lib/phrase/tool/commands/pull.rb +5 -3
- data/lib/phrase/tool/options_factory.rb +8 -0
- data/lib/phrase/version.rb +1 -1
- metadata +37 -65
- checksums.yaml +0 -15
data/lib/phrase/api/client.rb
CHANGED
@@ -72,12 +72,19 @@ class Phrase::Api::Client
|
|
72
72
|
true
|
73
73
|
end
|
74
74
|
|
75
|
-
def download_translations_for_locale(name, format, tag=nil)
|
76
|
-
raise "You must specify a name" if name.nil?
|
77
|
-
raise "You must specify a format" if format.nil?
|
75
|
+
def download_translations_for_locale(name, format, tag=nil, updated_since=nil, include_empty_translations=nil)
|
76
|
+
raise "You must specify a name" if name.nil? || name.blank?
|
77
|
+
raise "You must specify a format" if format.nil? || format.blank?
|
78
78
|
|
79
79
|
begin
|
80
|
-
|
80
|
+
params = {
|
81
|
+
format: format,
|
82
|
+
locale: name,
|
83
|
+
tag: tag,
|
84
|
+
updated_since: updated_since,
|
85
|
+
include_empty_translations: include_empty_translations
|
86
|
+
}
|
87
|
+
content = perform_api_request("/translations/download", :get, params)
|
81
88
|
return content
|
82
89
|
rescue Phrase::Api::Exceptions::ServerError => e
|
83
90
|
raise "Translations #{name} could not be downloaded"
|
data/lib/phrase/tool/commands.rb
CHANGED
@@ -14,6 +14,8 @@ class Phrase::Tool::Commands::Pull < Phrase::Tool::Commands::Base
|
|
14
14
|
@format = @options.get(:format) || config.format || DEFAULT_DOWNLOAD_FORMAT
|
15
15
|
@target = @options.get(:target)
|
16
16
|
@tag = @options.get(:tag)
|
17
|
+
@updated_since = @options.get(:updated_since)
|
18
|
+
@include_empty_translations = @options.get(:include_empty_translations)
|
17
19
|
@target ||= Phrase::Formats.target_directory(@format) if format_valid?(@format)
|
18
20
|
end
|
19
21
|
|
@@ -21,14 +23,14 @@ class Phrase::Tool::Commands::Pull < Phrase::Tool::Commands::Base
|
|
21
23
|
(print_error("Invalid format: #{@format}") and exit_command) unless format_valid?(@format)
|
22
24
|
locales_to_download.compact.each do |locale|
|
23
25
|
print_message "Downloading #{locale.name}..."
|
24
|
-
fetch_translations_for_locale(locale, @format, @tag)
|
26
|
+
fetch_translations_for_locale(locale, @format, @tag, @updated_since, @include_empty_translations)
|
25
27
|
end
|
26
28
|
end
|
27
29
|
|
28
30
|
private
|
29
|
-
def fetch_translations_for_locale(locale, format, tag=nil)
|
31
|
+
def fetch_translations_for_locale(locale, format, tag=nil, updated_since=nil, include_empty_translations=nil)
|
30
32
|
begin
|
31
|
-
content = api_client.download_translations_for_locale(locale.name, format, tag)
|
33
|
+
content = api_client.download_translations_for_locale(locale.name, format, tag, updated_since, include_empty_translations)
|
32
34
|
store_content_in_locale_file(locale, content)
|
33
35
|
rescue Exception => e
|
34
36
|
print_error "Failed"
|
@@ -88,6 +88,14 @@ class OptionsFactory
|
|
88
88
|
set[:tag] = tag
|
89
89
|
end
|
90
90
|
|
91
|
+
opts.on("--updated-since=YYYYMMDDHHMMSS", String, "Limit results to translations updated after the given date (UTC)") do |updated_since|
|
92
|
+
set[:updated_since] = updated_since
|
93
|
+
end
|
94
|
+
|
95
|
+
opts.on("--include-empty-translations", "Include empty translations in the result") do |include_empty_translations|
|
96
|
+
set[:include_empty_translations] = include_empty_translations
|
97
|
+
end
|
98
|
+
|
91
99
|
opts.on("--secret=YOUR_AUTH_TOKEN", String, "The Auth Token to use for this operation instead of the saved one (optional)") do |secret|
|
92
100
|
set[:secret] = secret
|
93
101
|
end
|
data/lib/phrase/version.rb
CHANGED
metadata
CHANGED
@@ -1,155 +1,126 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phrase
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.17
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Dynport GmbH
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-
|
12
|
+
date: 2013-10-15 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: colorize
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70325546967200 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '0'
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
|
-
version_requirements:
|
23
|
-
requirements:
|
24
|
-
- - ! '>='
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
24
|
+
version_requirements: *70325546967200
|
27
25
|
- !ruby/object:Gem::Dependency
|
28
26
|
name: json
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
27
|
+
requirement: &70325546966720 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
30
29
|
requirements:
|
31
30
|
- - ! '>='
|
32
31
|
- !ruby/object:Gem::Version
|
33
32
|
version: '0'
|
34
33
|
type: :runtime
|
35
34
|
prerelease: false
|
36
|
-
version_requirements:
|
37
|
-
requirements:
|
38
|
-
- - ! '>='
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
35
|
+
version_requirements: *70325546966720
|
41
36
|
- !ruby/object:Gem::Dependency
|
42
37
|
name: i18n
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirement: &70325546966280 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
44
40
|
requirements:
|
45
41
|
- - ! '>='
|
46
42
|
- !ruby/object:Gem::Version
|
47
43
|
version: '0'
|
48
44
|
type: :runtime
|
49
45
|
prerelease: false
|
50
|
-
version_requirements:
|
51
|
-
requirements:
|
52
|
-
- - ! '>='
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
46
|
+
version_requirements: *70325546966280
|
55
47
|
- !ruby/object:Gem::Dependency
|
56
48
|
name: rake
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirement: &70325546965860 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
58
51
|
requirements:
|
59
52
|
- - ! '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
type: :development
|
63
56
|
prerelease: false
|
64
|
-
version_requirements:
|
65
|
-
requirements:
|
66
|
-
- - ! '>='
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
57
|
+
version_requirements: *70325546965860
|
69
58
|
- !ruby/object:Gem::Dependency
|
70
59
|
name: rspec
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirement: &70325546965440 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
72
62
|
requirements:
|
73
63
|
- - ! '>='
|
74
64
|
- !ruby/object:Gem::Version
|
75
65
|
version: '0'
|
76
66
|
type: :development
|
77
67
|
prerelease: false
|
78
|
-
version_requirements:
|
79
|
-
requirements:
|
80
|
-
- - ! '>='
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
68
|
+
version_requirements: *70325546965440
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: webmock
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirement: &70325546965020 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
86
73
|
requirements:
|
87
74
|
- - ! '>='
|
88
75
|
- !ruby/object:Gem::Version
|
89
76
|
version: '0'
|
90
77
|
type: :development
|
91
78
|
prerelease: false
|
92
|
-
version_requirements:
|
93
|
-
requirements:
|
94
|
-
- - ! '>='
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
79
|
+
version_requirements: *70325546965020
|
97
80
|
- !ruby/object:Gem::Dependency
|
98
81
|
name: vcr
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
82
|
+
requirement: &70325546964600 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
100
84
|
requirements:
|
101
85
|
- - ! '>='
|
102
86
|
- !ruby/object:Gem::Version
|
103
87
|
version: '0'
|
104
88
|
type: :development
|
105
89
|
prerelease: false
|
106
|
-
version_requirements:
|
107
|
-
requirements:
|
108
|
-
- - ! '>='
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
90
|
+
version_requirements: *70325546964600
|
111
91
|
- !ruby/object:Gem::Dependency
|
112
92
|
name: timecop
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
93
|
+
requirement: &70325546964180 !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
114
95
|
requirements:
|
115
96
|
- - ! '>='
|
116
97
|
- !ruby/object:Gem::Version
|
117
98
|
version: '0'
|
118
99
|
type: :development
|
119
100
|
prerelease: false
|
120
|
-
version_requirements:
|
121
|
-
requirements:
|
122
|
-
- - ! '>='
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
101
|
+
version_requirements: *70325546964180
|
125
102
|
- !ruby/object:Gem::Dependency
|
126
103
|
name: genspec
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
104
|
+
requirement: &70325546963760 !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
128
106
|
requirements:
|
129
107
|
- - ! '>='
|
130
108
|
- !ruby/object:Gem::Version
|
131
109
|
version: '0'
|
132
110
|
type: :development
|
133
111
|
prerelease: false
|
134
|
-
version_requirements:
|
135
|
-
requirements:
|
136
|
-
- - ! '>='
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
112
|
+
version_requirements: *70325546963760
|
139
113
|
- !ruby/object:Gem::Dependency
|
140
114
|
name: rails
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirement: &70325546963340 !ruby/object:Gem::Requirement
|
116
|
+
none: false
|
142
117
|
requirements:
|
143
118
|
- - ! '>='
|
144
119
|
- !ruby/object:Gem::Version
|
145
120
|
version: '0'
|
146
121
|
type: :development
|
147
122
|
prerelease: false
|
148
|
-
version_requirements:
|
149
|
-
requirements:
|
150
|
-
- - ! '>='
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
123
|
+
version_requirements: *70325546963340
|
153
124
|
description: phrase allows you to edit translations in-place on the page itself. More
|
154
125
|
information at phraseapp.com
|
155
126
|
email:
|
@@ -237,25 +208,26 @@ files:
|
|
237
208
|
- phrase.gemspec
|
238
209
|
homepage: https://phraseapp.com
|
239
210
|
licenses: []
|
240
|
-
metadata: {}
|
241
211
|
post_install_message:
|
242
212
|
rdoc_options: []
|
243
213
|
require_paths:
|
244
214
|
- lib
|
245
215
|
required_ruby_version: !ruby/object:Gem::Requirement
|
216
|
+
none: false
|
246
217
|
requirements:
|
247
218
|
- - ! '>='
|
248
219
|
- !ruby/object:Gem::Version
|
249
220
|
version: '0'
|
250
221
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
222
|
+
none: false
|
251
223
|
requirements:
|
252
224
|
- - ! '>='
|
253
225
|
- !ruby/object:Gem::Version
|
254
226
|
version: 1.3.6
|
255
227
|
requirements: []
|
256
228
|
rubyforge_project: phrase
|
257
|
-
rubygems_version:
|
229
|
+
rubygems_version: 1.8.10
|
258
230
|
signing_key:
|
259
|
-
specification_version:
|
231
|
+
specification_version: 3
|
260
232
|
summary: The best way to manage i18n.
|
261
233
|
test_files: []
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
OTQyMmI5YjJkMDUxNGJhNDc0MDBjNDQ2ODc5OGUzOTQxYTJjYzliMw==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
OWVlZDk4MDc4OGJhZWJmOWE1MTU5Y2M3OWNjNmMzOTQzYjI3ZTIzOA==
|
7
|
-
!binary "U0hBNTEy":
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
NThlZWM4YmFiNGI1NTBjMjdhMjYxZTAzM2FhZWI2OTI4OGY4N2IxYjM2MDdk
|
10
|
-
N2Y5ZGE0ZGJlOTNiOTcyMDgzMjllODE2MjM5OGUzMTc1ZTFjNzI0MDY2YTRh
|
11
|
-
OWY4ZTEwNDBlNjA4NDkwOTNkZTc0Y2IzYWVmODkzNjQ0YTkzZDU=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
ZTkzNzFiMGYxNjExMjI4OWJjMDY1MTQ4Y2JmNDMzMWZiOGY4ZWYxY2Y5ZDIy
|
14
|
-
OTZiMTEwMDI5YmU4M2JmZTllZWMyZjk1MzliYzBkMmI2ZWUxNmU5Nzk4YjU2
|
15
|
-
Zjk0MzY4YWQ1ZTdlMzUxN2I3ZTlkMmJhZDRjNDQ2ZDQ3NTY3Yzc=
|