Make the transform functions nicer in rules.php
[SonOfLokstallBot.git] / rules.php
index 807e1f9..7630bd4 100644 (file)
--- a/rules.php
+++ b/rules.php
@@ -8,9 +8,7 @@ return [
     'Water' => [
         'imapQuery' => 'FROM "@watercorporation.com.au"',
         'regex' => '/Due date:.*?(?<due>\d{1,2}\/\d{2}\/\d{4}).*?Amount to pay:.*\$(?<amount>[0-9]+(\.[0-9]{2})?)/',
-        'messageTransform' => function($message) {
-            return implode(" ", array_map('trim', explode("\n", strip_tags(base64_decode($message)))));
-        },
+        'messageTransform' => ∘(glue(" "), map('trim'), lines, 'strip_tags', 'base64_decode'),
         'dateTransform' => function($date) {
             return str_replace('/', '-', $date);
         }
@@ -18,15 +16,11 @@ return [
     'Internet' => [
         'imapQuery' => 'FROM "@online.telstra.com"',
         'regex' => '/Total \$(?<amount>[0-9]+(\.[0-9]{2})?).*?Due Date (?<due>\d{1,2} \w{3} \d{4})/',
-        'messageTransform' => function($message) {
-            return implode(" ", array_map('trim', explode("\n", strip_tags(html_entity_decode($message)))));
-        }
+        'messageTransform' => ∘(glue(" "), map('trim'), lines, 'strip_tags', 'html_entity_decode')
     ],
     'Gas' => [
         'imapQuery' => 'FROM "@energy.agl.com.au"',
         'regex' => '/Direct Debit amount: \$(?<amount>[0-9]+(\.[0-9]{2})?).*?Direct Debit date: (?<due>\d{1,2} \w{3} \d+)/',
-        'messageTransform' => function($message) {
-            return implode(" ", array_map('trim', explode("\n", $message)));
-        }
+        'messageTransform' => ∘(glue(" "), map('trim'), lines)
     ]
 ];