smartring 0.0.4 → 0.0.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f0186db928d2b135eccb55cf0a78461d6d2de1aaf0bb12497c30f54644118368
4
- data.tar.gz: 13e889e780917a69b032812e6e1e20f2409e7139edf3fe8523d4b22ba8eb58ba
3
+ metadata.gz: 6999093e00fa486300723c24a340ce43bec412b7bb91d91b7f5af7bb4aa06995
4
+ data.tar.gz: 9e6e7c7d56d639139c773c3268daae1d40bfb498d723c6b190b9deb8a7d3c6be
5
5
  SHA512:
6
- metadata.gz: fe6990b16bd45818214facf572931b5eaac4cb81e01085a8087671cb100c001d61fc89a049a4199513d838f52e4ab3808b690342fd0308cd4a067aa8f2ffd075
7
- data.tar.gz: 473c135bb3239d230c80a9418be91f68a44a167f54d82041b300d88211fd678355739405034fe132a2c427e6962d5e291777850068002662aa6a0a41b653d6ac
6
+ metadata.gz: 9f3680b23b17bd8975b3c8d0d2c61450218d4ddbf79f3040522743749ce7cf75b9185fbdd443bd55dbf73a5a60755b47da958f0d44de1f82f5e18b8f98abd2b5
7
+ data.tar.gz: 9a7ded57503d98447ae3119717660d59950841719902f2d9d266862270255e2047bf961a0586eedb3f96a1759230fbacedadb17a26c9e3ba0a9752bdc819a880
@@ -33,8 +33,9 @@ module Smartling
33
33
  body[:referenceNumber] = reference_number unless reference_number.nil?
34
34
  body[:callbackUrl] = callback_url unless callback_url.nil?
35
35
  body[:callbackMethod] = callback_method unless callback_method.nil?
36
- return post(path) if body.empty?
37
- post(path, body: body)
36
+ headers = { 'Content-Type' => 'application/json' }
37
+ return post(path, headers: headers) if body.empty?
38
+ post(path, body: body.to_json, headers: headers)
38
39
  end
39
40
 
40
41
  def job(project_id: @project_id, translation_job_uid:)
@@ -54,8 +55,9 @@ module Smartling
54
55
  body[:referenceNumber] = reference_number unless reference_number.nil?
55
56
  body[:callbackUrl] = callback_url unless callback_url.nil?
56
57
  body[:callbackMethod] = callback_method unless callback_method.nil?
57
- return put(path) if body.empty?
58
- put(path, body: body)
58
+ headers = { 'Content-Type' => 'application/json' }
59
+ return put(path, headers: headers) if body.empty?
60
+ put(path, body: body.to_json, headers: headers)
59
61
  end
60
62
 
61
63
  def search_jobs(project_id: @project_id, translation_job_uids: nil,
@@ -67,8 +69,9 @@ module Smartling
67
69
  end
68
70
  body[:hashcodes] = hashcodes unless hashcodes.nil?
69
71
  body[:fileUris] = file_uris unless file_uris.nil?
70
- return post(path) if body.empty?
71
- post(path, body: body)
72
+ headers = { 'Content-Type' => 'application/json' }
73
+ return post(path, headers: headers) if body.empty?
74
+ post(path, body: body.to_json, headers: headers)
72
75
  end
73
76
 
74
77
  def job_files(project_id: @project_id, translation_job_uid:, offset: nil,
@@ -101,14 +104,16 @@ module Smartling
101
104
  body = {}
102
105
  body[:fileUri] = file_uri
103
106
  body[:targetLocaleIds] = target_locale_ids unless target_locale_ids.nil?
104
- post(path, body: body)
107
+ headers = { 'Content-Type' => 'application/json' }
108
+ post(path, body: body.to_json, headers: headers)
105
109
  end
106
110
 
107
111
  def remove_file_from_job(project_id: @project_id, translation_job_uid:, file_uri:)
108
112
  path = "/jobs-api/v3/projects/#{project_id}/jobs/#{translation_job_uid}"
109
113
  path = path + '/file/remove'
110
114
  body = { fileUri: file_uri }
111
- post(path, body: body)
115
+ headers = { 'Content-Type' => 'application/json' }
116
+ post(path, body: body.to_json, headers: headers)
112
117
  end
113
118
 
114
119
  def add_strings_to_job(project_id: @project_id, translation_job_uid:,
@@ -120,7 +125,8 @@ module Smartling
120
125
  body[:hashcodes] = hashcodes
121
126
  body[:targetLocaleIds] = target_locale_ids unless target_locale_ids.nil?
122
127
  body[:moveEnabled] = move_enabled unless move_enabled.nil?
123
- post(path, body: body)
128
+ headers = { 'Content-Type' => 'application/json' }
129
+ post(path, body: body.to_json, headers: headers)
124
130
  end
125
131
 
126
132
  def remove_strings_from_job(project_id: @project_id, translation_job_uid:,
@@ -130,7 +136,9 @@ module Smartling
130
136
  body = {}
131
137
  body[:hashcodes] = hashcodes
132
138
  body[:localeIds] = locale_ids unless locale_ids.nil?
133
- post(path, body: body)
139
+ headers = { 'Content-Type' => 'application/json' }
140
+ return post(path, headers: headers) if body.empty?
141
+ post(path, body: body.to_json, headers: headers)
134
142
  end
135
143
 
136
144
  def add_locale_to_job(project_id: @project_id, translation_job_uid:,
@@ -139,8 +147,9 @@ module Smartling
139
147
  path = path + "/locales/#{locale_id}"
140
148
  body = {}
141
149
  body[:syncContent] = sync_content unless sync_content.nil?
142
- return post(path) if body.nil?
143
- post(path, body: body)
150
+ headers = { 'Content-Type' => 'application/json' }
151
+ return post(path, headers: headers) if body.nil?
152
+ post(path, body: body.to_json, headers: headers)
144
153
  end
145
154
 
146
155
  def remove_locale_from_job(project_id: @project_id, translation_job_uid:,
@@ -153,7 +162,8 @@ module Smartling
153
162
  def close_job(project_id: @project_id, translation_job_uid:)
154
163
  path = "/jobs-api/v3/projects/#{project_id}/jobs/#{translation_job_uid}"
155
164
  path = path + '/close'
156
- post(path)
165
+ headers = { 'Content-Type' => 'application/json' }
166
+ post(path, headers: headers)
157
167
  end
158
168
 
159
169
  def cancel_job(project_id: @project_id, translation_job_uid:, reason: nil)
@@ -161,17 +171,19 @@ module Smartling
161
171
  path = path + '/cancel'
162
172
  body = {}
163
173
  body[:reason] = reason unless reason.nil?
164
- return post(path) if body.nil?
165
- post(path, body: body)
174
+ headers = { 'Content-Type' => 'application/json' }
175
+ return post(path, headers: headers) if body.nil?
176
+ post(path, body: body.to_json, headers: headers)
166
177
  end
167
178
 
168
179
  def authorize_job(project_id: @project_id, translation_job_uid:,
169
180
  locale_workflows: nil)
170
181
  path = "/jobs-api/v3/projects/#{project_id}/jobs/#{translation_job_uid}"
171
182
  path = path + '/authorize'
183
+ headers = { 'Content-Type' => 'application/json' }
172
184
  case locale_workflows
173
185
  when nil
174
- return post(path)
186
+ return post(path, headers: headers)
175
187
  when Array
176
188
  body = {}
177
189
  body[:localeWorkflows] = locale_workflows.map do |lw|
@@ -179,7 +191,7 @@ module Smartling
179
191
  workflow = lw[:workflow_uid] || lw.fetch('workflow_uid')
180
192
  { targetLocaleId: locale, workflowUid: workflow }
181
193
  end
182
- post(path, body: body)
194
+ post(path, body: body.to_json, headers: headers)
183
195
  else
184
196
  raise ArgumentError, 'locale_workflows should be an array'
185
197
  end
@@ -36,15 +36,18 @@ describe Smartling::Jobs do
36
36
 
37
37
  describe 'create_job' do
38
38
  it 'POSTs the right path and body' do
39
- smartling.expect(:post, nil) do |path|
39
+ smartling.expect(:post, nil) do |path, headers:|
40
40
  assert_match %r{jobs-api/v3/projects/1/jobs}, path
41
+ assert_equal 'application/json', headers['Content-Type']
41
42
  end
42
43
  smartling.create_job(project_id: 1)
43
44
  end
44
45
 
45
46
  it 'builds the correct body' do
46
- smartling.expect(:post, nil) do |path, body:|
47
+ smartling.expect(:post, nil) do |path, body:, headers:|
47
48
  assert_match %r{jobs-api/v3/projects/1/jobs}, path
49
+ assert_equal 'application/json', headers['Content-Type']
50
+ body = HipsterHash[JSON.parse(body)]
48
51
  assert_equal 'foo', body[:jobName]
49
52
  assert_equal Time.parse('2000-01-01').iso8601, body[:dueDate]
50
53
  assert_equal %w(de), body[:targetLocaleIds]
@@ -70,8 +73,10 @@ describe Smartling::Jobs do
70
73
 
71
74
  describe 'update_job' do
72
75
  it 'PUTs the right data to the right endpoint' do
73
- smartling.expect(:put, nil) do |path, body:|
76
+ smartling.expect(:put, nil) do |path, body:, headers:|
74
77
  assert_match %r{jobs-api/v3/projects/1/jobs/x}, path
78
+ assert_equal 'application/json', headers['Content-Type']
79
+ body = HipsterHash[JSON.parse(body)]
75
80
  assert_equal 'D', body[:description]
76
81
  assert_equal Time.parse('2001-01-01').iso8601, body[:dueDate]
77
82
  assert_equal '123', body[:referenceNumber]
@@ -88,8 +93,10 @@ describe Smartling::Jobs do
88
93
 
89
94
  describe 'search_jobs' do
90
95
  it 'POSTs the right body to the right endpoint' do
91
- smartling.expect(:post, nil) do |path, body:|
96
+ smartling.expect(:post, nil) do |path, body:, headers:|
92
97
  assert_match %r{jobs-api/v3/projects/1/jobs/search}, path
98
+ assert_equal 'application/json', headers['Content-Type']
99
+ body = HipsterHash[JSON.parse(body)]
93
100
  assert_equal %w(a b), body[:hashcodes]
94
101
  assert_equal %w(x y), body[:fileUris]
95
102
  assert_equal %w(1 2), body[:translationJobUids]
@@ -134,8 +141,10 @@ describe Smartling::Jobs do
134
141
 
135
142
  describe 'add_strings_to_job' do
136
143
  it 'POSTs the right body to the right endpoint' do
137
- smartling.expect(:post, nil) do |path, body:|
144
+ smartling.expect(:post, nil) do |path, body:, headers:|
138
145
  assert_match %r{jobs-api/v3/projects/1/jobs/x/strings/add}, path
146
+ assert_equal 'application/json', headers['Content-Type']
147
+ body = HipsterHash[JSON.parse(body)]
139
148
  assert_equal true, body[:moveEnabled]
140
149
  assert_equal %w(x y), body[:hashcodes]
141
150
  assert_equal %w(de), body[:targetLocaleIds]
@@ -148,8 +157,10 @@ describe Smartling::Jobs do
148
157
 
149
158
  describe 'remove_strings_from_job' do
150
159
  it 'POSTs the right body to the right endpoint' do
151
- smartling.expect(:post, nil) do |path, body:|
160
+ smartling.expect(:post, nil) do |path, body:, headers:|
152
161
  assert_match %r{jobs-api/v3/projects/1/jobs/x/strings/remove}, path
162
+ assert_equal 'application/json', headers['Content-Type']
163
+ body = HipsterHash[JSON.parse(body)]
153
164
  assert_equal %w(x y), body[:hashcodes]
154
165
  assert_equal %w(de), body[:localeIds]
155
166
  end
@@ -162,8 +173,10 @@ describe Smartling::Jobs do
162
173
 
163
174
  describe 'add_file_to_job' do
164
175
  it 'POSTs the right body to the right endpoint' do
165
- smartling.expect(:post, nil) do |path, body:|
176
+ smartling.expect(:post, nil) do |path, body:, headers:|
166
177
  assert_match %r{jobs-api/v3/projects/1/jobs/x/file/add}, path
178
+ assert_equal 'application/json', headers['Content-Type']
179
+ body = HipsterHash[JSON.parse(body)]
167
180
  assert_equal 'z', body[:fileUri]
168
181
  assert_equal %w(de), body[:targetLocaleIds]
169
182
  end
@@ -174,8 +187,10 @@ describe Smartling::Jobs do
174
187
 
175
188
  describe 'remove_file_from_job' do
176
189
  it 'POSTs the right body to the right endpoint' do
177
- smartling.expect(:post, nil) do |path, body:|
190
+ smartling.expect(:post, nil) do |path, body:, headers:|
178
191
  assert_match %r{jobs-api/v3/projects/1/jobs/x/file/remove}, path
192
+ assert_equal 'application/json', headers['Content-Type']
193
+ body = HipsterHash[JSON.parse(body)]
179
194
  assert_equal 'z', body[:fileUri]
180
195
  end
181
196
  smartling.remove_file_from_job(project_id: 1, translation_job_uid: 'x',
@@ -185,8 +200,10 @@ describe Smartling::Jobs do
185
200
 
186
201
  describe 'add_locale_to_job' do
187
202
  it 'POSTs the right body to the right endpoint' do
188
- smartling.expect(:post, nil) do |path, body:|
203
+ smartling.expect(:post, nil) do |path, body:, headers:|
189
204
  assert_match %r{jobs-api/v3/projects/1/jobs/x/locales/de-AT}, path
205
+ assert_equal 'application/json', headers['Content-Type']
206
+ body = HipsterHash[JSON.parse(body)]
190
207
  assert_equal true, body[:syncContent]
191
208
  end
192
209
  smartling.add_locale_to_job(project_id: 1, translation_job_uid: 'x',
@@ -207,7 +224,7 @@ describe Smartling::Jobs do
207
224
 
208
225
  describe 'close_job' do
209
226
  it 'POSTs to the right endpoint' do
210
- smartling.expect(:post, nil) do |path|
227
+ smartling.expect(:post, nil) do |path, headers:|
211
228
  assert_match %r{jobs-api/v3/projects/1/jobs/x/close}, path
212
229
  end
213
230
  smartling.close_job(project_id: 1, translation_job_uid: 'x')
@@ -216,8 +233,10 @@ describe Smartling::Jobs do
216
233
 
217
234
  describe 'cancel_job' do
218
235
  it 'POSTs the right body to the right endpoint' do
219
- smartling.expect(:post, nil) do |path, body:|
236
+ smartling.expect(:post, nil) do |path, body:, headers:|
220
237
  assert_match %r{jobs-api/v3/projects/1/jobs/x/cancel}, path
238
+ assert_equal 'application/json', headers['Content-Type']
239
+ body = HipsterHash[JSON.parse(body)]
221
240
  assert_equal 'Laziness', body[:reason]
222
241
  end
223
242
  smartling.cancel_job(project_id: 1, translation_job_uid: 'x',
@@ -227,8 +246,10 @@ describe Smartling::Jobs do
227
246
 
228
247
  describe 'authorize_job' do
229
248
  it 'POSTs the right body to the right endpoint' do
230
- smartling.expect(:post, nil) do |path, body:|
249
+ smartling.expect(:post, nil) do |path, body:, headers:|
231
250
  assert_match %r{jobs-api/v3/projects/1/jobs/x/authorize}, path
251
+ assert_equal 'application/json', headers['Content-Type']
252
+ body = HipsterHash[JSON.parse(body)]
232
253
  workflow = body[:localeWorkflows].first
233
254
  assert_equal 'a', body[:localeWorkflows][0][:targetLocaleId]
234
255
  assert_equal 'b', body[:localeWorkflows][0][:workflowUid]
@@ -244,7 +265,7 @@ describe Smartling::Jobs do
244
265
  end
245
266
 
246
267
  it 'does not require workflows' do
247
- smartling.expect(:post, nil) do |path|
268
+ smartling.expect(:post, nil) do |path, headers:|
248
269
  assert_match %r{jobs-api/v3/projects/1/jobs/x/authorize}, path
249
270
  end
250
271
  smartling.authorize_job(project_id: 1, translation_job_uid: 'x')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smartring
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - JJ Buckley
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-05-09 00:00:00.000000000 Z
11
+ date: 2018-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dotenv