babelyoda 2.1.0 → 2.1.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.
- data/lib/babelyoda/tanker.rb +29 -11
- data/lib/babelyoda/version.rb +1 -1
- metadata +26 -32
data/lib/babelyoda/tanker.rb
CHANGED
@@ -104,13 +104,15 @@ module Babelyoda
|
|
104
104
|
class Tanker
|
105
105
|
include Babelyoda::SpecificationLoader
|
106
106
|
|
107
|
-
class FileNameInvalidError <
|
107
|
+
class FileNameInvalidError < Exception ; end
|
108
|
+
class KeysetNameInvalidError < Exception ; end
|
108
109
|
|
109
110
|
attr_accessor :endpoint
|
110
111
|
attr_accessor :token
|
111
112
|
attr_accessor :project_id
|
112
113
|
|
113
114
|
def replace(keyset, language = nil)
|
115
|
+
validate_keyset_name!(keyset.name)
|
114
116
|
doc = project_xml do |xml|
|
115
117
|
keyset.to_xml(xml, language)
|
116
118
|
end
|
@@ -131,11 +133,13 @@ module Babelyoda
|
|
131
133
|
end
|
132
134
|
|
133
135
|
def create(keyset_name)
|
136
|
+
validate_keyset_name!(keyset_name)
|
134
137
|
post('/keysets/create/', { 'project-id' => project_id, 'keyset-id' => keyset_name })
|
135
138
|
end
|
136
139
|
|
137
140
|
def export(keyset_name = nil, languages = nil, status = nil, safe = false)
|
138
141
|
payload = { 'project-id' => project_id }
|
142
|
+
validate_keyset_name!(keyset_name) if keyset_name
|
139
143
|
payload.merge!({ 'keyset-id' => keyset_name }) if keyset_name
|
140
144
|
if languages
|
141
145
|
value = languages
|
@@ -148,6 +152,7 @@ module Babelyoda
|
|
148
152
|
end
|
149
153
|
|
150
154
|
def load_keyset(keyset_name, languages = nil, status = nil, safe = false)
|
155
|
+
validate_keyset_name!(keyset_name)
|
151
156
|
doc = export(keyset_name, languages, status, safe)
|
152
157
|
doc.css("keyset[@id='#{keyset_name}']").each do |keyset_node|
|
153
158
|
keyset = Babelyoda::Keyset.parse_xml(keyset_node)
|
@@ -157,6 +162,7 @@ module Babelyoda
|
|
157
162
|
end
|
158
163
|
|
159
164
|
def drop_keyset!(keyset_name)
|
165
|
+
validate_keyset_name!(keyset_name)
|
160
166
|
delete("/admin/project/#{project_id}/keyset/", { :keyset => keyset_name })
|
161
167
|
end
|
162
168
|
|
@@ -204,16 +210,18 @@ module Babelyoda
|
|
204
210
|
def post(method_name, payload)
|
205
211
|
uri = URI(method(method_name))
|
206
212
|
req = Net::HTTP::Post.new(uri.path)
|
213
|
+
|
207
214
|
req['AUTHORIZATION'] = token
|
208
215
|
req.content_type = multipart_content_type
|
209
216
|
req.body = multipart_data(payload)
|
210
217
|
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
res =
|
218
|
+
debug_log = ''
|
219
|
+
conn = Net::HTTP.new(uri.host, uri.port)
|
220
|
+
conn.set_debug_output(debug_log)
|
221
|
+
res = conn.start do |http|
|
215
222
|
http.request(req)
|
216
223
|
end
|
224
|
+
$logger.debug "HTTP DEBUG: #{debug_log}"
|
217
225
|
|
218
226
|
case res
|
219
227
|
when Net::HTTPSuccess, Net::HTTPRedirection
|
@@ -231,11 +239,13 @@ module Babelyoda
|
|
231
239
|
req = Net::HTTP::Get.new(uri.request_uri)
|
232
240
|
req['AUTHORIZATION'] = token
|
233
241
|
|
234
|
-
|
235
|
-
|
236
|
-
|
242
|
+
debug_log = ''
|
243
|
+
conn = Net::HTTP.new(uri.host, uri.port)
|
244
|
+
conn.set_debug_output(debug_log)
|
245
|
+
res = conn.start do |http|
|
237
246
|
http.request(req)
|
238
247
|
end
|
248
|
+
$logger.debug "HTTP DEBUG: #{debug_log}"
|
239
249
|
|
240
250
|
case res
|
241
251
|
when Net::HTTPSuccess, Net::HTTPRedirection
|
@@ -253,11 +263,13 @@ module Babelyoda
|
|
253
263
|
req = Net::HTTP::Delete.new(uri.request_uri)
|
254
264
|
req['AUTHORIZATION'] = token
|
255
265
|
|
256
|
-
|
257
|
-
|
258
|
-
|
266
|
+
debug_log = ''
|
267
|
+
conn = Net::HTTP.new(uri.host, uri.port)
|
268
|
+
conn.set_debug_output(debug_log)
|
269
|
+
res = conn.start do |http|
|
259
270
|
http.request(req)
|
260
271
|
end
|
272
|
+
$logger.debug "HTTP DEBUG: #{debug_log}"
|
261
273
|
|
262
274
|
case res
|
263
275
|
when Net::HTTPSuccess, Net::HTTPRedirection
|
@@ -268,5 +280,11 @@ module Babelyoda
|
|
268
280
|
raise Error.new(error)
|
269
281
|
end
|
270
282
|
end
|
283
|
+
|
284
|
+
def validate_keyset_name!(keyset_name)
|
285
|
+
if keyset_name.match(/[\s\t]/)
|
286
|
+
raise KeysetNameInvalidError.new("Keyset name must NOT contain tabs or spaces: #{keyset_name}")
|
287
|
+
end
|
288
|
+
end
|
271
289
|
end
|
272
290
|
end
|
data/lib/babelyoda/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: babelyoda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-02-20 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &70356031935100 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70356031935100
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: guard
|
27
|
-
requirement: &
|
27
|
+
requirement: &70356031934680 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70356031934680
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: guard-rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &70356031934180 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70356031934180
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: ruby_gntp
|
49
|
-
requirement: &
|
49
|
+
requirement: &70356031933720 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70356031933720
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: awesome_print
|
60
|
-
requirement: &
|
60
|
+
requirement: &70356031933120 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -68,10 +68,10 @@ dependencies:
|
|
68
68
|
version: 1.0.2
|
69
69
|
type: :runtime
|
70
70
|
prerelease: false
|
71
|
-
version_requirements: *
|
71
|
+
version_requirements: *70356031933120
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
73
|
name: rake
|
74
|
-
requirement: &
|
74
|
+
requirement: &70356031932240 !ruby/object:Gem::Requirement
|
75
75
|
none: false
|
76
76
|
requirements:
|
77
77
|
- - ~>
|
@@ -82,10 +82,10 @@ dependencies:
|
|
82
82
|
version: 0.9.2.2
|
83
83
|
type: :runtime
|
84
84
|
prerelease: false
|
85
|
-
version_requirements: *
|
85
|
+
version_requirements: *70356031932240
|
86
86
|
- !ruby/object:Gem::Dependency
|
87
87
|
name: active_support
|
88
|
-
requirement: &
|
88
|
+
requirement: &70356031931420 !ruby/object:Gem::Requirement
|
89
89
|
none: false
|
90
90
|
requirements:
|
91
91
|
- - ~>
|
@@ -96,10 +96,10 @@ dependencies:
|
|
96
96
|
version: 3.0.0
|
97
97
|
type: :runtime
|
98
98
|
prerelease: false
|
99
|
-
version_requirements: *
|
99
|
+
version_requirements: *70356031931420
|
100
100
|
- !ruby/object:Gem::Dependency
|
101
101
|
name: rchardet19
|
102
|
-
requirement: &
|
102
|
+
requirement: &70356031819460 !ruby/object:Gem::Requirement
|
103
103
|
none: false
|
104
104
|
requirements:
|
105
105
|
- - ~>
|
@@ -110,10 +110,10 @@ dependencies:
|
|
110
110
|
version: 1.3.5
|
111
111
|
type: :runtime
|
112
112
|
prerelease: false
|
113
|
-
version_requirements: *
|
113
|
+
version_requirements: *70356031819460
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: builder
|
116
|
-
requirement: &
|
116
|
+
requirement: &70356031818600 !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|
119
119
|
- - ~>
|
@@ -124,10 +124,10 @@ dependencies:
|
|
124
124
|
version: 3.0.0
|
125
125
|
type: :runtime
|
126
126
|
prerelease: false
|
127
|
-
version_requirements: *
|
127
|
+
version_requirements: *70356031818600
|
128
128
|
- !ruby/object:Gem::Dependency
|
129
129
|
name: nokogiri
|
130
|
-
requirement: &
|
130
|
+
requirement: &70356031817800 !ruby/object:Gem::Requirement
|
131
131
|
none: false
|
132
132
|
requirements:
|
133
133
|
- - ~>
|
@@ -138,10 +138,10 @@ dependencies:
|
|
138
138
|
version: 1.5.0
|
139
139
|
type: :runtime
|
140
140
|
prerelease: false
|
141
|
-
version_requirements: *
|
141
|
+
version_requirements: *70356031817800
|
142
142
|
- !ruby/object:Gem::Dependency
|
143
143
|
name: term-ansicolor
|
144
|
-
requirement: &
|
144
|
+
requirement: &70356031816880 !ruby/object:Gem::Requirement
|
145
145
|
none: false
|
146
146
|
requirements:
|
147
147
|
- - ~>
|
@@ -152,10 +152,10 @@ dependencies:
|
|
152
152
|
version: 1.0.7
|
153
153
|
type: :runtime
|
154
154
|
prerelease: false
|
155
|
-
version_requirements: *
|
155
|
+
version_requirements: *70356031816880
|
156
156
|
- !ruby/object:Gem::Dependency
|
157
157
|
name: log4r-color
|
158
|
-
requirement: &
|
158
|
+
requirement: &70356031815780 !ruby/object:Gem::Requirement
|
159
159
|
none: false
|
160
160
|
requirements:
|
161
161
|
- - ~>
|
@@ -163,7 +163,7 @@ dependencies:
|
|
163
163
|
version: '1.2'
|
164
164
|
type: :runtime
|
165
165
|
prerelease: false
|
166
|
-
version_requirements: *
|
166
|
+
version_requirements: *70356031815780
|
167
167
|
description: A simple utility to push/pull l10n resources of an Xcode project to/from
|
168
168
|
the translators
|
169
169
|
email:
|
@@ -220,18 +220,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
220
220
|
- - ! '>='
|
221
221
|
- !ruby/object:Gem::Version
|
222
222
|
version: '0'
|
223
|
-
segments:
|
224
|
-
- 0
|
225
|
-
hash: -2015034540121504841
|
226
223
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
227
224
|
none: false
|
228
225
|
requirements:
|
229
226
|
- - ! '>='
|
230
227
|
- !ruby/object:Gem::Version
|
231
228
|
version: '0'
|
232
|
-
segments:
|
233
|
-
- 0
|
234
|
-
hash: -2015034540121504841
|
235
229
|
requirements: []
|
236
230
|
rubyforge_project: babelyoda
|
237
231
|
rubygems_version: 1.8.10
|