ocrsdk 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/.gitignore +5 -0
  2. data/.rspec +2 -0
  3. data/Gemfile +3 -0
  4. data/LICENSE +20 -0
  5. data/README.md +2 -0
  6. data/Rakefile +25 -0
  7. data/VERSION +1 -0
  8. data/coverage/index.css +56 -0
  9. data/coverage/index.html +244 -0
  10. data/coverage/jquery.js +154 -0
  11. data/coverage/jquery.tablesorter.js +2 -0
  12. data/coverage/lib/ocrsdk/abstract_entity.rb.html +207 -0
  13. data/coverage/lib/ocrsdk/document.rb.html +159 -0
  14. data/coverage/lib/ocrsdk/errors.rb.html +199 -0
  15. data/coverage/lib/ocrsdk/image.rb.html +543 -0
  16. data/coverage/lib/ocrsdk/pdf.rb.html +311 -0
  17. data/coverage/lib/ocrsdk/promise.rb.html +791 -0
  18. data/coverage/lib/ocrsdk/verifiers/format.rb.html +303 -0
  19. data/coverage/lib/ocrsdk/verifiers/language.rb.html +439 -0
  20. data/coverage/lib/ocrsdk/verifiers/profile.rb.html +215 -0
  21. data/coverage/lib/ocrsdk/verifiers/status.rb.html +247 -0
  22. data/coverage/lib/ocrsdk/verifiers.rb.html +167 -0
  23. data/coverage/lib/ocrsdk.rb.html +263 -0
  24. data/coverage/report.css +97 -0
  25. data/lib/ocrsdk/abstract_entity.rb +14 -0
  26. data/lib/ocrsdk/document.rb +8 -0
  27. data/lib/ocrsdk/errors.rb +13 -0
  28. data/lib/ocrsdk/image.rb +56 -0
  29. data/lib/ocrsdk/pdf.rb +27 -0
  30. data/lib/ocrsdk/promise.rb +87 -0
  31. data/lib/ocrsdk/verifiers/format.rb +26 -0
  32. data/lib/ocrsdk/verifiers/language.rb +43 -0
  33. data/lib/ocrsdk/verifiers/profile.rb +15 -0
  34. data/lib/ocrsdk/verifiers/status.rb +19 -0
  35. data/lib/ocrsdk/verifiers.rb +9 -0
  36. data/lib/ocrsdk.rb +21 -0
  37. data/ocrsdk.gemspec +28 -0
  38. data/spec/fixtures/files/lorem.complex.pdf +0 -0
  39. data/spec/fixtures/files/lorem.pdf +0 -0
  40. data/spec/fixtures/files/malformed.pdf +0 -0
  41. data/spec/fixtures/files/recognizeable.pdf +0 -0
  42. data/spec/fixtures/files/russian.jpg +0 -0
  43. data/spec/fixtures/files/searchable.malformed.pdf +0 -0
  44. data/spec/helpers/ocrsdk_helpers.rb +106 -0
  45. data/spec/ocrsdk/image_spec.rb +93 -0
  46. data/spec/ocrsdk/pdf_spec.rb +26 -0
  47. data/spec/ocrsdk/promise_spec.rb +165 -0
  48. data/spec/ocrsdk/verifiers/format_spec.rb +51 -0
  49. data/spec/ocrsdk/verifiers/language_spec.rb +55 -0
  50. data/spec/ocrsdk/verifiers/profile_spec.rb +33 -0
  51. data/spec/ocrsdk/verifiers/status_spec.rb +43 -0
  52. data/spec/ocrsdk_spec.rb +8 -0
  53. data/spec/spec_helper.rb +8 -0
  54. data/spec/support/test_files.rb +36 -0
  55. data/travis.yml +4 -0
  56. metadata +247 -0
@@ -0,0 +1,543 @@
1
+ <html>
2
+ <head>
3
+ <title>lib/ocrsdk/image.rb</title>
4
+
5
+ <link href="../../report.css?0.44909827439167294" media="screen" rel="stylesheet" type="text/css" />
6
+ <script src='../../jquery.js?0.9721377553597997'></script>
7
+ <script>
8
+ $(function() {
9
+
10
+ $('#toggle_test_file').click(function(e) {
11
+ e.preventDefault();
12
+ if ($('#main_file').hasClass('side_by_side')) {
13
+ $('#main_file').removeClass('side_by_side');
14
+ } else {
15
+ $('#main_file').addClass('side_by_side');
16
+ }
17
+
18
+ $('#test_file').toggle();
19
+ });
20
+
21
+ $('#test_file').hide();
22
+
23
+ function cleanString(str) {
24
+ return $.trim(str.replace(/<[^(<|>)]+>/gi, ''));
25
+ }
26
+
27
+ $('.line_number').hover(function() {
28
+ $(this).attr('title', 'Line: ' + cleanString($(this).html()));
29
+ });
30
+
31
+ $('.hit_number').hover(function() {
32
+ $(this).attr('title', 'Execution Count: ' + cleanString($(this).html()));
33
+ });
34
+
35
+ $('.code_line').hover(function() {
36
+ $(this).attr('title', cleanString($(this).html()));
37
+ });
38
+
39
+ });
40
+ </script>
41
+ </head>
42
+ <body>
43
+ <h1><a href="../../index.html">Coverage Report</a></h1>
44
+
45
+ <table cellpadding='0' cellspacing='1'>
46
+ <tr class='header'>
47
+ <th>File</th>
48
+ <th>Lines</th>
49
+ <th>Lines Of Code</th>
50
+ <th>Untested Lines of Code</th>
51
+ <th>Tested %</th>
52
+ </tr>
53
+ <tr valign='top'>
54
+ <td>
55
+ lib/ocrsdk/image.rb
56
+
57
+ </td>
58
+ <td>56</td>
59
+ <td>29</td>
60
+ <td>0</td>
61
+ <td>100.0%</td>
62
+ </tr>
63
+ </table>
64
+
65
+ <div>&nbsp;</div>
66
+
67
+ <table cellpadding='0' cellspacing='1'>
68
+ <tr>
69
+ <th>Legend</th>
70
+ </tr>
71
+ <tr>
72
+ <td class='hit'>This line was executed.</td>
73
+ </tr>
74
+ <tr>
75
+ <td class='miss'>This line was not executed!</td>
76
+ </tr>
77
+ <tr>
78
+ <td class='never'>This line doesn't matter.</td>
79
+ </tr>
80
+ </table>
81
+
82
+ <div>&nbsp;</div>
83
+
84
+ <div id='content'>
85
+ <div id='main_file'>
86
+ <table id='main'>
87
+
88
+ <tr class="hit" data-hits='#{cov}'"">
89
+ <td class='line_number'>1</td>
90
+ <td class='code_line'>
91
+ <pre>class OCRSDK::Image < OCRSDK::AbstractEntity</pre>
92
+ </td>
93
+ <td class='hit_number'>24</td>
94
+ </tr>
95
+
96
+ <tr class="hit" data-hits='#{cov}'"">
97
+ <td class='line_number'>2</td>
98
+ <td class='code_line'>
99
+ <pre> include OCRSDK::Verifiers::Language</pre>
100
+ </td>
101
+ <td class='hit_number'>24</td>
102
+ </tr>
103
+
104
+ <tr class="hit" data-hits='#{cov}'"">
105
+ <td class='line_number'>3</td>
106
+ <td class='code_line'>
107
+ <pre> include OCRSDK::Verifiers::Format</pre>
108
+ </td>
109
+ <td class='hit_number'>24</td>
110
+ </tr>
111
+
112
+ <tr class="hit" data-hits='#{cov}'"">
113
+ <td class='line_number'>4</td>
114
+ <td class='code_line'>
115
+ <pre> include OCRSDK::Verifiers::Profile</pre>
116
+ </td>
117
+ <td class='hit_number'>24</td>
118
+ </tr>
119
+
120
+ <tr class="never" "">
121
+ <td class='line_number'>5</td>
122
+ <td class='code_line'>
123
+ <pre></pre>
124
+ </td>
125
+ <td class='hit_number'></td>
126
+ </tr>
127
+
128
+ <tr class="hit" data-hits='#{cov}'"">
129
+ <td class='line_number'>6</td>
130
+ <td class='code_line'>
131
+ <pre> def initialize(image_path, application_id=nil, password=nil)</pre>
132
+ </td>
133
+ <td class='hit_number'>24</td>
134
+ </tr>
135
+
136
+ <tr class="hit" data-hits='#{cov}'"">
137
+ <td class='line_number'>7</td>
138
+ <td class='code_line'>
139
+ <pre> super(application_id, password)</pre>
140
+ </td>
141
+ <td class='hit_number'>227</td>
142
+ </tr>
143
+
144
+ <tr class="hit" data-hits='#{cov}'"">
145
+ <td class='line_number'>8</td>
146
+ <td class='code_line'>
147
+ <pre> @image_path = image_path</pre>
148
+ </td>
149
+ <td class='hit_number'>179</td>
150
+ </tr>
151
+
152
+ <tr class="never" "">
153
+ <td class='line_number'>9</td>
154
+ <td class='code_line'>
155
+ <pre> end</pre>
156
+ </td>
157
+ <td class='hit_number'></td>
158
+ </tr>
159
+
160
+ <tr class="never" "">
161
+ <td class='line_number'>10</td>
162
+ <td class='code_line'>
163
+ <pre></pre>
164
+ </td>
165
+ <td class='hit_number'></td>
166
+ </tr>
167
+
168
+ <tr class="hit" data-hits='#{cov}'"">
169
+ <td class='line_number'>11</td>
170
+ <td class='code_line'>
171
+ <pre> def as_text(languages)</pre>
172
+ </td>
173
+ <td class='hit_number'>24</td>
174
+ </tr>
175
+
176
+ <tr class="hit" data-hits='#{cov}'"">
177
+ <td class='line_number'>12</td>
178
+ <td class='code_line'>
179
+ <pre> xml_string = api_process_image @image_path, languages, :txt, :text_extraction</pre>
180
+ </td>
181
+ <td class='hit_number'>32</td>
182
+ </tr>
183
+
184
+ <tr class="never" "">
185
+ <td class='line_number'>13</td>
186
+ <td class='code_line'>
187
+ <pre></pre>
188
+ </td>
189
+ <td class='hit_number'></td>
190
+ </tr>
191
+
192
+ <tr class="hit" data-hits='#{cov}'"">
193
+ <td class='line_number'>14</td>
194
+ <td class='code_line'>
195
+ <pre> OCRSDK::Promise.from_response xml_string, @application_id, @password</pre>
196
+ </td>
197
+ <td class='hit_number'>32</td>
198
+ </tr>
199
+
200
+ <tr class="never" "">
201
+ <td class='line_number'>15</td>
202
+ <td class='code_line'>
203
+ <pre> end</pre>
204
+ </td>
205
+ <td class='hit_number'></td>
206
+ </tr>
207
+
208
+ <tr class="never" "">
209
+ <td class='line_number'>16</td>
210
+ <td class='code_line'>
211
+ <pre></pre>
212
+ </td>
213
+ <td class='hit_number'></td>
214
+ </tr>
215
+
216
+ <tr class="hit" data-hits='#{cov}'"">
217
+ <td class='line_number'>17</td>
218
+ <td class='code_line'>
219
+ <pre> def as_text_sync(languages, wait_interval=OCRSDK::DEFAULT_POLL_TIME)</pre>
220
+ </td>
221
+ <td class='hit_number'>24</td>
222
+ </tr>
223
+
224
+ <tr class="hit" data-hits='#{cov}'"">
225
+ <td class='line_number'>18</td>
226
+ <td class='code_line'>
227
+ <pre> as_text(languages).wait(wait_interval).result.force_encoding('utf-8')</pre>
228
+ </td>
229
+ <td class='hit_number'>16</td>
230
+ </tr>
231
+
232
+ <tr class="never" "">
233
+ <td class='line_number'>19</td>
234
+ <td class='code_line'>
235
+ <pre> end</pre>
236
+ </td>
237
+ <td class='hit_number'></td>
238
+ </tr>
239
+
240
+ <tr class="never" "">
241
+ <td class='line_number'>20</td>
242
+ <td class='code_line'>
243
+ <pre></pre>
244
+ </td>
245
+ <td class='hit_number'></td>
246
+ </tr>
247
+
248
+ <tr class="hit" data-hits='#{cov}'"">
249
+ <td class='line_number'>21</td>
250
+ <td class='code_line'>
251
+ <pre> def as_pdf(languages)</pre>
252
+ </td>
253
+ <td class='hit_number'>24</td>
254
+ </tr>
255
+
256
+ <tr class="hit" data-hits='#{cov}'"">
257
+ <td class='line_number'>22</td>
258
+ <td class='code_line'>
259
+ <pre> xml_string = api_process_image @image_path, languages, :pdf, :document_conversion</pre>
260
+ </td>
261
+ <td class='hit_number'>33</td>
262
+ </tr>
263
+
264
+ <tr class="never" "">
265
+ <td class='line_number'>23</td>
266
+ <td class='code_line'>
267
+ <pre></pre>
268
+ </td>
269
+ <td class='hit_number'></td>
270
+ </tr>
271
+
272
+ <tr class="hit" data-hits='#{cov}'"">
273
+ <td class='line_number'>24</td>
274
+ <td class='code_line'>
275
+ <pre> OCRSDK::Promise.from_response xml_string, @application_id, @password</pre>
276
+ </td>
277
+ <td class='hit_number'>33</td>
278
+ </tr>
279
+
280
+ <tr class="never" "">
281
+ <td class='line_number'>25</td>
282
+ <td class='code_line'>
283
+ <pre> end</pre>
284
+ </td>
285
+ <td class='hit_number'></td>
286
+ </tr>
287
+
288
+ <tr class="never" "">
289
+ <td class='line_number'>26</td>
290
+ <td class='code_line'>
291
+ <pre></pre>
292
+ </td>
293
+ <td class='hit_number'></td>
294
+ </tr>
295
+
296
+ <tr class="hit" data-hits='#{cov}'"">
297
+ <td class='line_number'>27</td>
298
+ <td class='code_line'>
299
+ <pre> def as_pdf_sync(languages, out_path=nil, wait_interval=OCRSDK::DEFAULT_POLL_TIME)</pre>
300
+ </td>
301
+ <td class='hit_number'>24</td>
302
+ </tr>
303
+
304
+ <tr class="hit" data-hits='#{cov}'"">
305
+ <td class='line_number'>28</td>
306
+ <td class='code_line'>
307
+ <pre> result = as_pdf(languages).wait(wait_interval).result</pre>
308
+ </td>
309
+ <td class='hit_number'>17</td>
310
+ </tr>
311
+
312
+ <tr class="never" "">
313
+ <td class='line_number'>29</td>
314
+ <td class='code_line'>
315
+ <pre></pre>
316
+ </td>
317
+ <td class='hit_number'></td>
318
+ </tr>
319
+
320
+ <tr class="hit" data-hits='#{cov}'"">
321
+ <td class='line_number'>30</td>
322
+ <td class='code_line'>
323
+ <pre> if out_path.nil?</pre>
324
+ </td>
325
+ <td class='hit_number'>16</td>
326
+ </tr>
327
+
328
+ <tr class="hit" data-hits='#{cov}'"">
329
+ <td class='line_number'>31</td>
330
+ <td class='code_line'>
331
+ <pre> result</pre>
332
+ </td>
333
+ <td class='hit_number'>15</td>
334
+ </tr>
335
+
336
+ <tr class="never" "">
337
+ <td class='line_number'>32</td>
338
+ <td class='code_line'>
339
+ <pre> else</pre>
340
+ </td>
341
+ <td class='hit_number'></td>
342
+ </tr>
343
+
344
+ <tr class="hit" data-hits='#{cov}'"">
345
+ <td class='line_number'>33</td>
346
+ <td class='code_line'>
347
+ <pre> File.open(out_path, 'wb+') {|f| f.write result }</pre>
348
+ </td>
349
+ <td class='hit_number'>2</td>
350
+ </tr>
351
+
352
+ <tr class="never" "">
353
+ <td class='line_number'>34</td>
354
+ <td class='code_line'>
355
+ <pre> end</pre>
356
+ </td>
357
+ <td class='hit_number'></td>
358
+ </tr>
359
+
360
+ <tr class="never" "">
361
+ <td class='line_number'>35</td>
362
+ <td class='code_line'>
363
+ <pre> end</pre>
364
+ </td>
365
+ <td class='hit_number'></td>
366
+ </tr>
367
+
368
+ <tr class="never" "">
369
+ <td class='line_number'>36</td>
370
+ <td class='code_line'>
371
+ <pre></pre>
372
+ </td>
373
+ <td class='hit_number'></td>
374
+ </tr>
375
+
376
+ <tr class="hit" data-hits='#{cov}'"">
377
+ <td class='line_number'>37</td>
378
+ <td class='code_line'>
379
+ <pre>private</pre>
380
+ </td>
381
+ <td class='hit_number'>24</td>
382
+ </tr>
383
+
384
+ <tr class="never" "">
385
+ <td class='line_number'>38</td>
386
+ <td class='code_line'>
387
+ <pre></pre>
388
+ </td>
389
+ <td class='hit_number'></td>
390
+ </tr>
391
+
392
+ <tr class="never" "">
393
+ <td class='line_number'>39</td>
394
+ <td class='code_line'>
395
+ <pre> # TODO handle 4xx and 5xx responses and errors, file not found error</pre>
396
+ </td>
397
+ <td class='hit_number'></td>
398
+ </tr>
399
+
400
+ <tr class="never" "">
401
+ <td class='line_number'>40</td>
402
+ <td class='code_line'>
403
+ <pre> # http://ocrsdk.com/documentation/apireference/processImage/</pre>
404
+ </td>
405
+ <td class='hit_number'></td>
406
+ </tr>
407
+
408
+ <tr class="hit" data-hits='#{cov}'"">
409
+ <td class='line_number'>41</td>
410
+ <td class='code_line'>
411
+ <pre> def api_process_image(image_path, languages, format=:txt, profile=:document_conversion)</pre>
412
+ </td>
413
+ <td class='hit_number'>24</td>
414
+ </tr>
415
+
416
+ <tr class="hit" data-hits='#{cov}'"">
417
+ <td class='line_number'>42</td>
418
+ <td class='code_line'>
419
+ <pre> raise OCRSDK::UnsupportedInputFormat unless supported_input_format? File.extname(image_path)[1..-1]</pre>
420
+ </td>
421
+ <td class='hit_number'>68</td>
422
+ </tr>
423
+
424
+ <tr class="hit" data-hits='#{cov}'"">
425
+ <td class='line_number'>43</td>
426
+ <td class='code_line'>
427
+ <pre> raise OCRSDK::UnsupportedOutputFormat unless supported_output_format? format</pre>
428
+ </td>
429
+ <td class='hit_number'>52</td>
430
+ </tr>
431
+
432
+ <tr class="hit" data-hits='#{cov}'"">
433
+ <td class='line_number'>44</td>
434
+ <td class='code_line'>
435
+ <pre> raise OCRSDK::UnsupportedProfile unless supported_profile? (profile)</pre>
436
+ </td>
437
+ <td class='hit_number'>36</td>
438
+ </tr>
439
+
440
+ <tr class="never" "">
441
+ <td class='line_number'>45</td>
442
+ <td class='code_line'>
443
+ <pre></pre>
444
+ </td>
445
+ <td class='hit_number'></td>
446
+ </tr>
447
+
448
+ <tr class="hit" data-hits='#{cov}'"">
449
+ <td class='line_number'>46</td>
450
+ <td class='code_line'>
451
+ <pre> params = URI.encode_www_form(</pre>
452
+ </td>
453
+ <td class='hit_number'>20</td>
454
+ </tr>
455
+
456
+ <tr class="never" "">
457
+ <td class='line_number'>47</td>
458
+ <td class='code_line'>
459
+ <pre> language: languages_to_s(languages).join(','),</pre>
460
+ </td>
461
+ <td class='hit_number'></td>
462
+ </tr>
463
+
464
+ <tr class="never" "">
465
+ <td class='line_number'>48</td>
466
+ <td class='code_line'>
467
+ <pre> exportFormat: format_to_s(format), </pre>
468
+ </td>
469
+ <td class='hit_number'></td>
470
+ </tr>
471
+
472
+ <tr class="never" "">
473
+ <td class='line_number'>49</td>
474
+ <td class='code_line'>
475
+ <pre> profile: profile_to_s(profile))</pre>
476
+ </td>
477
+ <td class='hit_number'></td>
478
+ </tr>
479
+
480
+ <tr class="hit" data-hits='#{cov}'"">
481
+ <td class='line_number'>50</td>
482
+ <td class='code_line'>
483
+ <pre> uri = URI.join @url, '/processImage', "?#{params}"</pre>
484
+ </td>
485
+ <td class='hit_number'>4</td>
486
+ </tr>
487
+
488
+ <tr class="never" "">
489
+ <td class='line_number'>51</td>
490
+ <td class='code_line'>
491
+ <pre></pre>
492
+ </td>
493
+ <td class='hit_number'></td>
494
+ </tr>
495
+
496
+ <tr class="hit" data-hits='#{cov}'"">
497
+ <td class='line_number'>52</td>
498
+ <td class='code_line'>
499
+ <pre> RestClient.post uri.to_s, upload: { file: File.new(image_path, 'rb') }</pre>
500
+ </td>
501
+ <td class='hit_number'>4</td>
502
+ </tr>
503
+
504
+ <tr class="never" "">
505
+ <td class='line_number'>53</td>
506
+ <td class='code_line'>
507
+ <pre> rescue RestClient::ExceptionWithResponse</pre>
508
+ </td>
509
+ <td class='hit_number'></td>
510
+ </tr>
511
+
512
+ <tr class="hit" data-hits='#{cov}'"">
513
+ <td class='line_number'>54</td>
514
+ <td class='code_line'>
515
+ <pre> raise OCRSDK::NetworkError</pre>
516
+ </td>
517
+ <td class='hit_number'>2</td>
518
+ </tr>
519
+
520
+ <tr class="never" "">
521
+ <td class='line_number'>55</td>
522
+ <td class='code_line'>
523
+ <pre> end</pre>
524
+ </td>
525
+ <td class='hit_number'></td>
526
+ </tr>
527
+
528
+ <tr class="never" "">
529
+ <td class='line_number'>56</td>
530
+ <td class='code_line'>
531
+ <pre>end</pre>
532
+ </td>
533
+ <td class='hit_number'></td>
534
+ </tr>
535
+
536
+ </table>
537
+ </div>
538
+
539
+ </div>
540
+
541
+ <p>Generated on: 2012-12-01 01:40:30 +0400</p>
542
+ </body>
543
+ </html>