phrase 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/phrase/tool.rb +57 -8
- data/phrase.gemspec +1 -1
- metadata +2 -2
data/lib/phrase/tool.rb
CHANGED
@@ -29,6 +29,7 @@ module PhraseGem
|
|
29
29
|
end
|
30
30
|
|
31
31
|
private
|
32
|
+
|
32
33
|
def init(config)
|
33
34
|
secret_param = args.find{ |arg| arg =~ /secret=/ }
|
34
35
|
unless secret_param.to_s.match(/secret=.+/)
|
@@ -40,6 +41,15 @@ module PhraseGem
|
|
40
41
|
secret = secret_param.split("=", 2).last
|
41
42
|
config.secret = secret
|
42
43
|
puts "Wrote secret to config file .phrase"
|
44
|
+
|
45
|
+
default_locale_param = args.find{ |arg| arg =~ /default-locale=/ }
|
46
|
+
if default_locale_param.to_s.match(/default-locale=.+/)
|
47
|
+
locale_name = default_locale_param.split("=", 2).last
|
48
|
+
else
|
49
|
+
locale_name = "en"
|
50
|
+
end
|
51
|
+
create_locale(locale_name, config)
|
52
|
+
make_locale_default(locale_name, config)
|
43
53
|
end
|
44
54
|
|
45
55
|
def push(config)
|
@@ -66,8 +76,8 @@ module PhraseGem
|
|
66
76
|
puts "No file or directory specified, using #{self.class.rails_default_locale_folder}"
|
67
77
|
else
|
68
78
|
$stderr.puts "Need either a file or directory:"
|
69
|
-
$stderr.puts "
|
70
|
-
$stderr.puts "
|
79
|
+
$stderr.puts "phrase push FILE"
|
80
|
+
$stderr.puts "phrase push DIRECTORY"
|
71
81
|
exit(46)
|
72
82
|
end
|
73
83
|
end
|
@@ -94,7 +104,7 @@ module PhraseGem
|
|
94
104
|
|
95
105
|
if is_yaml_file(file)
|
96
106
|
proceed_with_upload = false
|
97
|
-
$stderr.puts "
|
107
|
+
$stderr.puts "Notice: Could not upload #{file} (extension not supported - see http://phraseapp.com/help for more information)"
|
98
108
|
end
|
99
109
|
|
100
110
|
if proceed_with_upload
|
@@ -144,12 +154,12 @@ module PhraseGem
|
|
144
154
|
res = http.request(request)
|
145
155
|
|
146
156
|
if res.code.to_s =~ /200/
|
147
|
-
puts "
|
157
|
+
puts "OK"
|
148
158
|
File.open("phrase/locales/phrase.#{locale}.yml", "w") do |file|
|
149
159
|
file.write(res.body)
|
150
160
|
end
|
151
161
|
else
|
152
|
-
puts "
|
162
|
+
puts "Failed"
|
153
163
|
print_server_error(res)
|
154
164
|
end
|
155
165
|
end
|
@@ -161,14 +171,52 @@ module PhraseGem
|
|
161
171
|
res = http.request(request)
|
162
172
|
|
163
173
|
if res.code.to_s =~ /200/
|
164
|
-
puts "
|
174
|
+
puts "Fetched all locales"
|
165
175
|
return JSON.parse(res.body).map { |locale| locale['name'] }
|
166
176
|
else
|
167
|
-
puts "
|
177
|
+
puts "Failed"
|
168
178
|
print_server_error(res)
|
169
179
|
exit(47)
|
170
180
|
end
|
171
181
|
end
|
182
|
+
|
183
|
+
def create_locale(locale_name, config)
|
184
|
+
params = {
|
185
|
+
'auth_token' => config.secret,
|
186
|
+
'locale[name]' => locale_name
|
187
|
+
}
|
188
|
+
|
189
|
+
http = http_client(config)
|
190
|
+
|
191
|
+
request = Net::HTTP::Post.new("#{config.api_path_prefix}/locales")
|
192
|
+
request.set_form_data(params)
|
193
|
+
res = http.request(request)
|
194
|
+
|
195
|
+
if res.code.to_s =~ /200/
|
196
|
+
puts "Created locale \"#{locale_name}\""
|
197
|
+
else
|
198
|
+
puts "Notice: Locale \"#{locale_name}\" could not be created (maybe it already exists)"
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
def make_locale_default(locale_name, config)
|
203
|
+
params = {
|
204
|
+
'auth_token' => config.secret,
|
205
|
+
}
|
206
|
+
|
207
|
+
http = http_client(config)
|
208
|
+
|
209
|
+
request = Net::HTTP::Put.new("#{config.api_path_prefix}/locales/#{locale_name}/make_default")
|
210
|
+
request.set_form_data(params)
|
211
|
+
res = http.request(request)
|
212
|
+
|
213
|
+
if res.code.to_s =~ /200/
|
214
|
+
puts "Locale \"#{locale_name}\" is now the default locale"
|
215
|
+
else
|
216
|
+
puts "Notice: Locale \"#{locale_name}\" could not be made the default locale"
|
217
|
+
print_server_error(res)
|
218
|
+
end
|
219
|
+
end
|
172
220
|
|
173
221
|
def print_server_error(res, filename=nil)
|
174
222
|
error_message = server_error_message(res.body)
|
@@ -186,9 +234,10 @@ module PhraseGem
|
|
186
234
|
def print_usage
|
187
235
|
$stderr.puts <<USAGE
|
188
236
|
Welcome to phrase!
|
237
|
+
|
189
238
|
phrase Prints usage
|
190
239
|
|
191
|
-
phrase init --secret=<YOUR SECRET>
|
240
|
+
phrase init --secret=<YOUR SECRET> --default-locale=<YOUR DEFAULT LOCALE>
|
192
241
|
|
193
242
|
phrase push FILE
|
194
243
|
phrase push DIRECTORY
|
data/phrase.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phrase
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
12
|
+
date: 2012-03-28 00:00:00.000000000Z
|
13
13
|
dependencies: []
|
14
14
|
description: The best way to manage i18n.
|
15
15
|
email:
|