!RBIX 10310238139619683799 x M 1 n n x 10 __script__ i 12 5 7 0 56 1 47 50 2 1 15 2 11 I 3 I 0 I 0 I 0 n p 3 x 6 corpus M 1 p 2 x 9 for_block t n x 9 __block__ i 127 5 7 0 56 1 47 50 2 1 15 5 7 3 64 47 49 4 1 15 5 44 43 5 79 49 6 1 13 7 7 7 0 49 8 2 15 56 9 47 50 2 1 15 99 7 10 7 11 65 67 49 12 0 49 13 4 15 99 7 14 7 15 65 67 49 12 0 49 13 4 15 99 7 16 7 17 65 67 49 12 0 49 13 4 15 99 7 18 7 19 65 67 49 12 0 49 13 4 15 99 7 20 7 21 65 67 49 12 0 49 13 4 15 99 7 22 7 23 65 67 49 12 0 49 13 4 11 I 6 I 0 I 0 I 0 I -2 p 24 x 9 load_mail M 1 p 2 x 9 for_block t n x 9 __block__ i 24 5 45 0 1 7 2 64 49 3 1 47 49 4 1 15 5 7 5 64 47 49 4 1 11 I 4 I 0 I 0 I 0 I -2 p 6 x 4 File n s 25 ../../../spec/environment x 11 expand_path x 7 require s 4 mail p 5 I 0 I 4 I f I 5 I 18 x 44 /Users/mikel/Code/mail/lib/tasks/corpus.rake p 0 x 4 task s 74 Provide a LOCATION=/some/dir to verify parsing in bulk, otherwise defaults x 4 desc x 4 Hash x 16 new_from_literal x 10 verify_all x 3 []= M 1 p 2 x 9 for_block t n x 9 __block__ i 350 45 0 1 7 2 64 49 3 1 13 10 16 15 7 4 64 19 0 15 45 0 5 7 6 64 49 3 1 13 10 35 15 7 7 64 38 8 15 35 0 38 9 15 78 38 10 15 20 0 9 93 45 11 12 20 0 49 13 1 19 0 15 45 11 14 20 0 49 15 1 9 75 1 8 91 5 7 16 20 0 47 101 17 7 18 63 3 47 49 19 1 8 101 5 7 20 64 47 49 19 1 15 39 8 9 165 45 11 21 39 8 49 15 1 9 119 1 8 135 5 7 16 39 8 47 101 17 7 18 63 3 47 49 19 1 15 45 11 22 39 8 49 13 1 38 8 15 5 7 23 39 8 47 101 17 7 24 63 3 47 49 25 1 8 166 1 15 5 7 26 20 0 47 101 17 7 27 63 3 47 49 25 1 15 99 43 28 7 29 99 43 28 7 30 49 3 1 49 31 0 49 32 2 15 99 43 28 7 30 49 3 1 7 33 64 7 34 64 49 35 2 15 65 7 36 99 43 28 7 30 49 3 1 49 37 2 15 5 20 0 47 49 38 1 15 99 43 28 7 30 99 43 28 7 29 49 3 1 49 31 0 49 32 2 15 65 7 36 99 43 28 7 30 49 3 1 49 37 2 15 5 7 39 64 47 49 25 1 15 39 9 49 40 0 9 301 5 48 41 8 302 1 15 5 7 42 39 10 47 101 17 63 2 47 49 25 1 15 39 8 9 341 5 7 43 64 47 49 25 1 15 5 7 44 64 47 49 25 1 8 349 5 7 45 64 47 49 25 1 11 I 6 I 1 I 0 I 0 I -2 p 46 x 3 ENV n s 8 LOCATION x 2 [] s 11 corpus/spam n s 7 SAVE_TO s 34 spec/fixtures/emails/failed_emails x 17 @save_failures_to x 14 @failed_emails x 14 @checked_count x 4 File n x 11 expand_path n x 10 directory? s 8 Path ' x 4 to_s s 23 ' is not a directory. x 5 raise s 51 Supply path to corpus: LOCATION=/path/to/corpus n n s 44 Mail which fails to parse will be saved in ' s 1 ' x 4 puts s 10 Checking ' s 25 ' directory (recursively) x 7 Globals x 14 $stderr_backup x 7 $stderr x 3 dup x 3 []= s 9 /dev/null s 1 w x 6 reopen x 6 STDERR x 9 const_set x 8 dir_node s 2 x 4 any? x 25 report_failures_to_stdout s 14 Out of Total: s 59 Add SAVE_TO=/some/dir to save failed emails to for review., s 57 May result in a lot of saved files. Do a dry run first! s 19 There are no errors p 63 I 0 I d I 13 I e I 26 I f I 2b I 10 I 2f I 12 I 33 I 13 I 3e I 14 I 4b I 15 I 5d I 18 I 66 I 1b I 6a I 1c I 77 I 1d I 88 I 1f I 93 I 20 I a5 I 1b I a7 I 23 I b8 I 26 I cc I 27 I de I 28 I ed I 2a I f5 I 2d I 109 I 2e I 118 I 30 I 121 I 32 I 128 I 33 I 12d I 32 I 12f I 35 I 13e I 37 I 142 I 38 I 14b I 39 I 155 I 3b I 15e x 44 /Users/mikel/Code/mail/lib/tasks/corpus.rake p 1 x 14 root_of_corpus x 8 dir_node M 1 n n x 8 dir_node i 45 5 7 0 64 47 49 1 1 15 5 7 2 20 0 47 101 3 7 4 63 3 47 49 1 1 15 45 5 6 20 0 49 7 1 19 1 15 20 1 56 8 50 9 0 11 I 6 I 2 I 1 I 1 n p 10 s 2 x 4 puts s 20 Checking emails in ' x 4 to_s s 2 ': x 3 Dir n x 7 entries M 1 p 2 x 9 for_block t n x 8 dir_node i 79 57 19 0 15 7 0 64 7 1 64 35 2 20 0 49 2 1 9 23 1 11 8 24 1 15 45 3 4 21 1 0 20 0 49 5 2 19 1 15 45 3 6 20 1 49 7 1 9 58 5 20 1 47 49 8 1 8 78 45 3 9 20 1 49 10 1 9 77 5 20 1 47 49 11 1 8 78 1 11 I 6 I 2 I 1 I 1 n p 12 s 1 . s 2 .. x 8 include? x 4 File n x 4 join n x 5 file? x 9 file_node n x 10 directory? x 8 dir_node p 17 I 0 I 45 I 4 I 46 I 19 I 47 I 27 I 49 I 31 I 4a I 3a I 4b I 44 I 4c I 4d I 4b I 4f x 44 /Users/mikel/Code/mail/lib/tasks/corpus.rake p 2 x 5 entry x 9 full_path x 4 each p 11 I -1 I 3f I 0 I 40 I 9 I 41 I 1a I 43 I 25 I 45 I 2d x 44 /Users/mikel/Code/mail/lib/tasks/corpus.rake p 2 x 4 path x 7 entries x 17 method_visibility x 15 add_defn_method x 9 file_node M 1 n n x 9 file_node i 8 5 20 0 47 49 0 1 11 I 3 I 1 I 1 I 1 n p 1 x 6 verify p 5 I -1 I 51 I 0 I 52 I 8 x 44 /Users/mikel/Code/mail/lib/tasks/corpus.rake p 1 x 4 path x 6 verify M 1 n n x 6 verify i 64 5 20 0 47 49 0 1 97 37 19 1 15 37 19 2 15 15 2 15 20 1 9 45 5 7 1 64 47 49 2 1 15 99 43 3 7 4 49 5 1 49 6 0 8 63 5 20 0 20 2 47 49 7 2 15 5 7 8 64 47 49 2 1 11 I 6 I 3 I 1 I 1 n p 9 x 13 parse_as_mail s 1 . x 5 print x 7 Globals x 7 $stdout x 2 [] x 5 flush x 12 save_failure s 1 x p 15 I -1 I 55 I 0 I 56 I 13 I 57 I 17 I 58 I 20 I 59 I 2d I 5b I 37 I 5c I 40 x 44 /Users/mikel/Code/mail/lib/tasks/corpus.rake p 3 x 4 path x 6 result x 7 message x 12 save_failure M 1 n n x 12 save_failure i 96 39 0 20 0 20 1 35 2 49 1 1 15 39 2 9 94 45 3 4 20 0 49 5 1 19 2 15 20 1 7 6 13 70 9 47 15 44 43 7 7 8 78 49 9 2 6 6 7 10 64 49 11 2 19 3 15 20 3 20 2 35 2 7 10 64 49 12 1 19 4 15 45 3 13 45 3 14 39 2 20 4 49 12 2 7 15 64 56 16 50 17 2 8 95 1 11 I 9 I 5 I 2 I 2 n p 18 x 14 @failed_emails x 2 << x 17 @save_failures_to x 4 File n x 8 basename n x 6 Regexp s 2 \W x 3 new s 1 _ x 4 gsub x 4 join n n s 2 w+ M 1 p 2 x 9 for_block t n x 12 save_failure i 19 57 19 0 15 20 0 45 0 1 21 1 0 49 2 1 49 3 1 11 I 5 I 1 I 1 I 1 n p 4 x 4 File n x 4 read x 2 << p 5 I 0 I 66 I 4 I 67 I 13 x 44 /Users/mikel/Code/mail/lib/tasks/corpus.rake p 1 x 2 fh x 4 open p 17 I -1 I 60 I 0 I 61 I c I 62 I 10 I 63 I 1b I 64 I 38 I 65 I 47 I 66 I 5e I 62 I 60 x 44 /Users/mikel/Code/mail/lib/tasks/corpus.rake p 5 x 4 path x 7 message x 14 email_basename x 19 failure_as_filename x 14 new_email_name x 13 parse_as_mail M 1 n n x 13 parse_as_mail i 75 39 0 79 81 1 38 0 15 26 93 0 15 29 33 0 45 2 3 20 0 49 4 1 19 1 15 2 1 35 2 30 8 71 26 93 1 15 24 13 45 5 6 12 49 7 1 10 50 8 66 15 24 19 2 15 3 20 2 49 8 0 35 2 25 8 71 15 92 1 27 34 92 0 27 11 I 8 I 3 I 1 I 1 n p 9 x 14 @checked_count x 1 + x 4 Mail n x 4 read x 13 StandardError n x 3 === x 7 message p 17 I -1 I 6c I 0 I 6d I 8 I 6f I 1a I 70 I 26 I 71 I 33 I 73 I 34 I 71 I 37 I 72 I 4b x 44 /Users/mikel/Code/mail/lib/tasks/corpus.rake p 3 x 4 path x 11 parsed_mail x 1 e x 25 report_failures_to_stdout M 1 n n x 25 report_failures_to_stdout i 26 39 0 56 1 50 2 0 15 5 7 3 39 0 49 4 0 47 101 5 63 2 47 49 6 1 11 I 3 I 0 I 0 I 0 n p 7 x 14 @failed_emails M 1 p 2 x 9 for_block t n x 25 report_failures_to_stdout i 32 57 19 0 15 5 20 0 78 49 0 1 47 101 1 7 2 20 0 79 49 0 1 47 101 1 63 3 47 49 3 1 11 I 7 I 1 I 1 I 1 n p 4 x 2 [] x 4 to_s s 3 : x 4 puts p 5 I 0 I 77 I 4 I 78 I 20 x 44 /Users/mikel/Code/mail/lib/tasks/corpus.rake p 1 x 6 failed x 4 each s 8 Failed: x 4 size x 4 to_s x 4 puts p 7 I -1 I 76 I 0 I 77 I 8 I 7a I 1a x 44 /Users/mikel/Code/mail/lib/tasks/corpus.rake p 0 p 19 I 0 I 3 I a I a I 13 I b I 2b I 3f I 39 I 51 I 47 I 55 I 55 I 60 I 63 I 6c I 71 I 76 I 7f x 44 /Users/mikel/Code/mail/lib/tasks/corpus.rake p 0 x 9 namespace p 3 I 0 I 1 I c x 44 /Users/mikel/Code/mail/lib/tasks/corpus.rake p 0