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.
@@ -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? or name.blank?
77
- raise "You must specify a format" if format.nil? or format.blank?
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
- content = perform_api_request("/translations/download.#{format}", :get, {'locale' => name, 'tag' => tag})
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"
@@ -27,7 +27,9 @@ module Phrase::Tool::Commands
27
27
  pull: {
28
28
  format: nil,
29
29
  target: nil,
30
- tag: nil
30
+ tag: nil,
31
+ updated_since: nil,
32
+ include_empty_translations: nil
31
33
  },
32
34
  tags: {
33
35
  list: true
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Phrase
2
- VERSION = "0.4.16"
2
+ VERSION = "0.4.17"
3
3
  end
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.16
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-09-26 00:00:00.000000000 Z
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: 2.0.5
229
+ rubygems_version: 1.8.10
258
230
  signing_key:
259
- specification_version: 4
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=