verbalizeit 1.0.1 → 1.0.2

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
  SHA1:
3
- metadata.gz: 4537264a432d2b0598f8ddce8b79c56adeaab222
4
- data.tar.gz: 5cf1b6b58ee6d06c579a8ff9534019ab73f9436f
3
+ metadata.gz: 4ee346e037748f09fd430f0d0654b6c3b5e2d8cd
4
+ data.tar.gz: 19d32989f79ba39ad0eb5c50cfe36303cc21acc7
5
5
  SHA512:
6
- metadata.gz: ea1415a98adfbe8cbd0eb78c1548b78550729338676b4cf7805e09d0dae3cdfd57c060afd12d25708cbd60f963f6b7041b47ba381ae9d2b5956480b55667c69e
7
- data.tar.gz: 4896aff16c1485be9df46a332565aea96b5aa3fd70e42f9f3f1f8c7b4876e2d7c9b519b001184af63b74a32874c63e8bb330dfb4b314f21bede614a37314c350
6
+ metadata.gz: 952934182f8c48fa70712310015bcdfbf690d3a2c439eaec99feab162c5aa480f5f2638a353c1f7231f2376ab1406f06d5732f33afab92b4989732d74d18727d
7
+ data.tar.gz: 16ee5f68552d6f6dc56a092fab814324a7f66c5e27b54d2cff24cb81506dfcdd2e89c5028fcad08222f87996562e9b454bae1928b98bfcd566c3d45a4eff933c
data/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ ### 1.0.2
2
+ - fix error messaging for Verbalizeit::Error::BadRequest so that multiple errors are separated by spaces
3
+
4
+ ### 1.0.1
5
+ - Add ability to hit local dev environment
@@ -142,7 +142,7 @@ module Verbalizeit
142
142
  end
143
143
 
144
144
  def format_errors(body)
145
- parse_body(body).map { |_, errors| errors.map { |type, error| error } }.flatten.join(".")
145
+ parse_body(body).map { |_, errors| errors.map { |type, error| error } }.flatten.join(". ")
146
146
  end
147
147
 
148
148
  def parse_body(body)
@@ -1,3 +1,3 @@
1
1
  module Verbalizeit
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
@@ -0,0 +1,187 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://stagingapi.verbalizeit.com/v2/languages
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Typhoeus - https://github.com/typhoeus/typhoeus
12
+ X-Api-Key:
13
+ - "<API KEY>"
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Access-Control-Allow-Credentials:
20
+ - 'true'
21
+ Access-Control-Allow-Headers:
22
+ - "*,x-requested-with,Content-Type,If-Modified-Since,If-None-Match,Auth-User-Token"
23
+ Access-Control-Allow-Methods:
24
+ - POST, PUT, GET, OPTIONS, DELETE
25
+ Access-Control-Allow-Origin:
26
+ - ''
27
+ Cache-Control:
28
+ - max-age=0, private, must-revalidate
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ Date:
32
+ - Wed, 01 Jul 2015 21:12:11 GMT
33
+ Etag:
34
+ - '"6ed3f7edbf0ed0cbba041a3932fd237c"'
35
+ Server:
36
+ - nginx/1.4.6 (Ubuntu)
37
+ Set-Cookie:
38
+ - _verbalizeit_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTkwZTliMTY4ODVjYTI5NWVhZDI5NmM2NzU1Njc3Y2U3BjsAVEkiHXdhcmRlbi51c2VyLmN1c3RvbWVyLmtleQY7AFRbCEkiDUN1c3RvbWVyBjsARlsGaQLVAkkiIiQyYSQxMCRDNTlDS0tsaTVQOVBVLmF0TERVeHJPBjsAVA%3D%3D--0d3a07fb85c58d335ce72398acdff11446bf5ec0;
39
+ domain=.verbalizeit.com; path=/
40
+ Status:
41
+ - 200 OK
42
+ X-Rack-Cache:
43
+ - miss
44
+ X-Request-Id:
45
+ - 5c0fad37c81b5d477d9a5b6b39e1b6f6
46
+ X-Runtime:
47
+ - '0.237958'
48
+ X-Ua-Compatible:
49
+ - IE=Edge,chrome=1
50
+ Transfer-Encoding:
51
+ - chunked
52
+ Connection:
53
+ - keep-alive
54
+ body:
55
+ encoding: ASCII-8BIT
56
+ string: !binary |-
57
+ W3sibmFtZSI6IkVuZ2xpc2giLCJsYW5ndWFnZV9yZWdpb25fY29kZSI6ImVu
58
+ Zy1VUyJ9LHsibmFtZSI6IkFmcmlrYWFucyIsImxhbmd1YWdlX3JlZ2lvbl9j
59
+ b2RlIjoiYWZyLVpBIn0seyJuYW1lIjoiQXJhYmljIiwibGFuZ3VhZ2VfcmVn
60
+ aW9uX2NvZGUiOiJhcmEtQUUifSx7Im5hbWUiOiJCb2ttw6VsIiwibGFuZ3Vh
61
+ Z2VfcmVnaW9uX2NvZGUiOiJub2ItTk8ifSx7Im5hbWUiOiJCb3NuaWFuIiwi
62
+ bGFuZ3VhZ2VfcmVnaW9uX2NvZGUiOiJib3MtQkEifSx7Im5hbWUiOiJCdWxn
63
+ YXJpYW4iLCJsYW5ndWFnZV9yZWdpb25fY29kZSI6ImJ1bC1CRyJ9LHsibmFt
64
+ ZSI6IkNhdGFsYW4iLCJsYW5ndWFnZV9yZWdpb25fY29kZSI6ImNhdC1FUyJ9
65
+ LHsibmFtZSI6IkNyb2F0aWFuIiwibGFuZ3VhZ2VfcmVnaW9uX2NvZGUiOiJo
66
+ cnYtSFIifSx7Im5hbWUiOiJDemVjaCIsImxhbmd1YWdlX3JlZ2lvbl9jb2Rl
67
+ IjoiY2VzLUNaIn0seyJuYW1lIjoiRGFuaXNoIiwibGFuZ3VhZ2VfcmVnaW9u
68
+ X2NvZGUiOiJkYW4tREsifSx7Im5hbWUiOiJEYXJpIiwibGFuZ3VhZ2VfcmVn
69
+ aW9uX2NvZGUiOiJwcnMtQUYifSx7Im5hbWUiOiJEdXRjaCIsImxhbmd1YWdl
70
+ X3JlZ2lvbl9jb2RlIjoiZHV0LU5MIn0seyJuYW1lIjoiRW5nbGlzaCAoQXVz
71
+ dHJhbGlhKSIsImxhbmd1YWdlX3JlZ2lvbl9jb2RlIjoiZW5nLUFVIn0seyJu
72
+ YW1lIjoiRW5nbGlzaCAoQ2FuYWRhKSIsImxhbmd1YWdlX3JlZ2lvbl9jb2Rl
73
+ IjoiZW5nLUNBIn0seyJuYW1lIjoiRW5nbGlzaCAoVUspIiwibGFuZ3VhZ2Vf
74
+ cmVnaW9uX2NvZGUiOiJlbmctR0IifSx7Im5hbWUiOiJFc3RvbmlhbiIsImxh
75
+ bmd1YWdlX3JlZ2lvbl9jb2RlIjoiZXN0LUVFIn0seyJuYW1lIjoiRmFyc2ki
76
+ LCJsYW5ndWFnZV9yZWdpb25fY29kZSI6ImZhcy1JUiJ9LHsibmFtZSI6IkZp
77
+ bm5pc2giLCJsYW5ndWFnZV9yZWdpb25fY29kZSI6ImZpbi1GSSJ9LHsibmFt
78
+ ZSI6IkZyZW5jaCIsImxhbmd1YWdlX3JlZ2lvbl9jb2RlIjoiZnJhLUZSIn0s
79
+ eyJuYW1lIjoiRnJlbmNoIChDYW5hZGEpIiwibGFuZ3VhZ2VfcmVnaW9uX2Nv
80
+ ZGUiOiJmcmEtQ0EifSx7Im5hbWUiOiJHZXJtYW4iLCJsYW5ndWFnZV9yZWdp
81
+ b25fY29kZSI6ImRldS1ERSJ9LHsibmFtZSI6Ikdlcm1hbiAoU3dpdHplcmxh
82
+ bmQpIiwibGFuZ3VhZ2VfcmVnaW9uX2NvZGUiOiJkZXUtQ0gifSx7Im5hbWUi
83
+ OiJHcmVlayIsImxhbmd1YWdlX3JlZ2lvbl9jb2RlIjoiZWxsLUdSIn0seyJu
84
+ YW1lIjoiSGVicmV3IiwibGFuZ3VhZ2VfcmVnaW9uX2NvZGUiOiJoZWItSUwi
85
+ fSx7Im5hbWUiOiJIaW5kaSIsImxhbmd1YWdlX3JlZ2lvbl9jb2RlIjoiaGlu
86
+ LUlOIn0seyJuYW1lIjoiSHVuZ2FyaWFuIiwibGFuZ3VhZ2VfcmVnaW9uX2Nv
87
+ ZGUiOiJodW4tSFUifSx7Im5hbWUiOiJJbmRvbmVzaWFuIiwibGFuZ3VhZ2Vf
88
+ cmVnaW9uX2NvZGUiOiJpbmQtSUQifSx7Im5hbWUiOiJJdGFsaWFuIiwibGFu
89
+ Z3VhZ2VfcmVnaW9uX2NvZGUiOiJpdGEtSVQifSx7Im5hbWUiOiJKYXBhbmVz
90
+ ZSIsImxhbmd1YWdlX3JlZ2lvbl9jb2RlIjoianBuLUpQIn0seyJuYW1lIjoi
91
+ S2FubmFkYSIsImxhbmd1YWdlX3JlZ2lvbl9jb2RlIjoia2FuLUlOIn0seyJu
92
+ YW1lIjoiS2F6YWtoIiwibGFuZ3VhZ2VfcmVnaW9uX2NvZGUiOiJrYXotS1oi
93
+ fSx7Im5hbWUiOiJLb3JlYW4iLCJsYW5ndWFnZV9yZWdpb25fY29kZSI6Imtv
94
+ ci1LUiJ9LHsibmFtZSI6IkxhdHZpYW4iLCJsYW5ndWFnZV9yZWdpb25fY29k
95
+ ZSI6Imxhdi1MViJ9LHsibmFtZSI6IkxpdGh1YW5pYW4iLCJsYW5ndWFnZV9y
96
+ ZWdpb25fY29kZSI6ImxpdC1MVCJ9LHsibmFtZSI6Ik1hbmRhcmluIiwibGFu
97
+ Z3VhZ2VfcmVnaW9uX2NvZGUiOiJjbW4tQ04ifSx7Im5hbWUiOiJOb3J3ZWdp
98
+ YW4iLCJsYW5ndWFnZV9yZWdpb25fY29kZSI6Im5vci1OTyJ9LHsibmFtZSI6
99
+ Ik55bm9yc2siLCJsYW5ndWFnZV9yZWdpb25fY29kZSI6Im5uby1OTyJ9LHsi
100
+ bmFtZSI6IlBhc2h0byIsImxhbmd1YWdlX3JlZ2lvbl9jb2RlIjoicHVzLUFG
101
+ In0seyJuYW1lIjoiUG9saXNoIiwibGFuZ3VhZ2VfcmVnaW9uX2NvZGUiOiJw
102
+ b2wtUEwifSx7Im5hbWUiOiJQb3J0dWd1ZXNlIiwibGFuZ3VhZ2VfcmVnaW9u
103
+ X2NvZGUiOiJwb3ItUFQifSx7Im5hbWUiOiJQb3J0dWd1ZXNlIChCcmF6aWwp
104
+ IiwibGFuZ3VhZ2VfcmVnaW9uX2NvZGUiOiJwb3ItQlIifSx7Im5hbWUiOiJQ
105
+ dW5qYWJpIiwibGFuZ3VhZ2VfcmVnaW9uX2NvZGUiOiJwYW4tSU4ifSx7Im5h
106
+ bWUiOiJSb21hbmlhbiIsImxhbmd1YWdlX3JlZ2lvbl9jb2RlIjoicm9uLVJP
107
+ In0seyJuYW1lIjoiUnVzc2lhbiIsImxhbmd1YWdlX3JlZ2lvbl9jb2RlIjoi
108
+ cnVzLVJVIn0seyJuYW1lIjoiU2VyYmlhbiIsImxhbmd1YWdlX3JlZ2lvbl9j
109
+ b2RlIjoic3JwLVNQIn0seyJuYW1lIjoiU2xvdmFrIiwibGFuZ3VhZ2VfcmVn
110
+ aW9uX2NvZGUiOiJzbG8tU0sifSx7Im5hbWUiOiJTbG92ZW5pYW4iLCJsYW5n
111
+ dWFnZV9yZWdpb25fY29kZSI6InNsdi1TSSJ9LHsibmFtZSI6IlNwYW5pc2gi
112
+ LCJsYW5ndWFnZV9yZWdpb25fY29kZSI6InNwYS1FUyJ9LHsibmFtZSI6IlNw
113
+ YW5pc2ggKExhdGluIEFtZXJpY2EpIiwibGFuZ3VhZ2VfcmVnaW9uX2NvZGUi
114
+ OiJzcGEtWEwifSx7Im5hbWUiOiJTcGFuaXNoIChNZXhpY28pIiwibGFuZ3Vh
115
+ Z2VfcmVnaW9uX2NvZGUiOiJzcGEtTVgifSx7Im5hbWUiOiJTd2FoaWxpIiwi
116
+ bGFuZ3VhZ2VfcmVnaW9uX2NvZGUiOiJzd2EtS0UifSx7Im5hbWUiOiJTd2Vk
117
+ aXNoIiwibGFuZ3VhZ2VfcmVnaW9uX2NvZGUiOiJzd2UtU0UifSx7Im5hbWUi
118
+ OiJUYWdhbG9nIiwibGFuZ3VhZ2VfcmVnaW9uX2NvZGUiOiJ0Z2wtUEgifSx7
119
+ Im5hbWUiOiJUYW1pbCIsImxhbmd1YWdlX3JlZ2lvbl9jb2RlIjoidGFtLUlO
120
+ In0seyJuYW1lIjoiVGhhaSIsImxhbmd1YWdlX3JlZ2lvbl9jb2RlIjoidGhh
121
+ LVRIIn0seyJuYW1lIjoiVHJhZGl0aW9uYWwgQ2hpbmVzZSIsImxhbmd1YWdl
122
+ X3JlZ2lvbl9jb2RlIjoiemhvLUNOIn0seyJuYW1lIjoiVHJhZGl0aW9uYWwg
123
+ Q2hpbmVzZSAoSG9uZyBLb25nKSIsImxhbmd1YWdlX3JlZ2lvbl9jb2RlIjoi
124
+ emhvLUhLIn0seyJuYW1lIjoiVHJhZGl0aW9uYWwgQ2hpbmVzZSAoVGFpd2Fu
125
+ KSIsImxhbmd1YWdlX3JlZ2lvbl9jb2RlIjoiemhvLVRXIn0seyJuYW1lIjoi
126
+ VHVya2lzaCIsImxhbmd1YWdlX3JlZ2lvbl9jb2RlIjoidHVyLVRSIn0seyJu
127
+ YW1lIjoiVWtyYWluaWFuIiwibGFuZ3VhZ2VfcmVnaW9uX2NvZGUiOiJ1a3It
128
+ VUEifSx7Im5hbWUiOiJWaWV0bmFtZXNlIiwibGFuZ3VhZ2VfcmVnaW9uX2Nv
129
+ ZGUiOiJ2aWUtVk4ifV0=
130
+ http_version:
131
+ recorded_at: Wed, 01 Jul 2015 21:12:12 GMT
132
+ - request:
133
+ method: post
134
+ uri: https://stagingapi.verbalizeit.com/v2/tasks
135
+ body:
136
+ encoding: UTF-8
137
+ string: file=%23%3CFile%3A0x000001041167a0%3E&media_resource_url=&operation=&postback_url=&rush_order=&source_language=&start=&status_url=&target_language=fra-FR
138
+ headers:
139
+ User-Agent:
140
+ - Typhoeus - https://github.com/typhoeus/typhoeus
141
+ X-Api-Key:
142
+ - "<API KEY>"
143
+ response:
144
+ status:
145
+ code: 400
146
+ message: Bad Request
147
+ headers:
148
+ Access-Control-Allow-Credentials:
149
+ - 'true'
150
+ Access-Control-Allow-Headers:
151
+ - "*,x-requested-with,Content-Type,If-Modified-Since,If-None-Match,Auth-User-Token"
152
+ Access-Control-Allow-Methods:
153
+ - POST, PUT, GET, OPTIONS, DELETE
154
+ Access-Control-Allow-Origin:
155
+ - ''
156
+ Cache-Control:
157
+ - no-cache
158
+ Content-Type:
159
+ - application/json; charset=utf-8
160
+ Date:
161
+ - Wed, 01 Jul 2015 21:12:11 GMT
162
+ Server:
163
+ - nginx/1.4.6 (Ubuntu)
164
+ Set-Cookie:
165
+ - _verbalizeit_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWNkYTAwZDBhMzNlNDgwYWNlNmM1ZDFkNGIyNTViOWIxBjsAVEkiHXdhcmRlbi51c2VyLmN1c3RvbWVyLmtleQY7AFRbCEkiDUN1c3RvbWVyBjsARlsGaQLVAkkiIiQyYSQxMCRDNTlDS0tsaTVQOVBVLmF0TERVeHJPBjsAVA%3D%3D--41bfcf046e1b866eaeb1ce1b30158bed4a186644;
166
+ domain=.verbalizeit.com; path=/
167
+ Status:
168
+ - 400 Bad Request
169
+ X-Rack-Cache:
170
+ - invalidate, pass
171
+ X-Request-Id:
172
+ - 83e19346c2be0e9a51bbbf62ebbeddf3
173
+ X-Runtime:
174
+ - '0.255560'
175
+ X-Ua-Compatible:
176
+ - IE=Edge,chrome=1
177
+ Content-Length:
178
+ - '98'
179
+ Connection:
180
+ - keep-alive
181
+ body:
182
+ encoding: UTF-8
183
+ string: '{"errors":{"operation":["Not a valid operation"],"source_language":["Not
184
+ a valid language code"]}}'
185
+ http_version:
186
+ recorded_at: Wed, 01 Jul 2015 21:12:13 GMT
187
+ recorded_with: VCR 2.9.3
@@ -47,7 +47,7 @@ describe Verbalizeit::Client do
47
47
 
48
48
  expect {
49
49
  client.create_task(nil, target_language, operation, options)
50
- }.to raise_error(Verbalizeit::Error::BadRequest)
50
+ }.to raise_error(Verbalizeit::Error::BadRequest, 'Not a valid language code')
51
51
  end
52
52
  end
53
53
 
@@ -59,7 +59,7 @@ describe Verbalizeit::Client do
59
59
 
60
60
  expect {
61
61
  client.create_task(source_language, nil, operation, options)
62
- }.to raise_error(Verbalizeit::Error::BadRequest)
62
+ }.to raise_error(Verbalizeit::Error::BadRequest, 'Not a valid language code')
63
63
  end
64
64
  end
65
65
 
@@ -71,7 +71,7 @@ describe Verbalizeit::Client do
71
71
 
72
72
  expect {
73
73
  client.create_task(source_language, target_language, nil, options)
74
- }.to raise_error(Verbalizeit::Error::BadRequest)
74
+ }.to raise_error(Verbalizeit::Error::BadRequest, 'Not a valid operation')
75
75
  end
76
76
  end
77
77
 
@@ -81,7 +81,19 @@ describe Verbalizeit::Client do
81
81
 
82
82
  expect {
83
83
  client.create_task(source_language, target_language, operation)
84
- }.to raise_error(Verbalizeit::Error::BadRequest)
84
+ }.to raise_error(Verbalizeit::Error::BadRequest, 'Invalid URL')
85
+ end
86
+ end
87
+
88
+ it 'joins multiple errors with periods' do
89
+ VCR.use_cassette('client/no_source_and_operation') do
90
+ client = Verbalizeit::Client.new(staging_api_key, :staging)
91
+
92
+ options = {file: file_xliff}
93
+
94
+ expect {
95
+ client.create_task(nil, target_language, nil, options)
96
+ }.to raise_error(Verbalizeit::Error::BadRequest, 'Not a valid operation. Not a valid language code')
85
97
  end
86
98
  end
87
99
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: verbalizeit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathanael Burt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-13 00:00:00.000000000 Z
11
+ date: 2015-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -131,6 +131,7 @@ extra_rdoc_files: []
131
131
  files:
132
132
  - ".gitignore"
133
133
  - ".rspec"
134
+ - CHANGELOG.md
134
135
  - Gemfile
135
136
  - LICENSE.txt
136
137
  - README.md
@@ -155,6 +156,7 @@ files:
155
156
  - spec/fixtures/cassettes/client/list_tasks_status.yml
156
157
  - spec/fixtures/cassettes/client/no_file_or_url.yml
157
158
  - spec/fixtures/cassettes/client/no_operation.yml
159
+ - spec/fixtures/cassettes/client/no_source_and_operation.yml
158
160
  - spec/fixtures/cassettes/client/no_source_language.yml
159
161
  - spec/fixtures/cassettes/client/no_target_language.yml
160
162
  - spec/fixtures/cassettes/client/start_task.yml
@@ -210,6 +212,7 @@ test_files:
210
212
  - spec/fixtures/cassettes/client/list_tasks_status.yml
211
213
  - spec/fixtures/cassettes/client/no_file_or_url.yml
212
214
  - spec/fixtures/cassettes/client/no_operation.yml
215
+ - spec/fixtures/cassettes/client/no_source_and_operation.yml
213
216
  - spec/fixtures/cassettes/client/no_source_language.yml
214
217
  - spec/fixtures/cassettes/client/no_target_language.yml
215
218
  - spec/fixtures/cassettes/client/start_task.yml