CRM_Core_CodeGen_BaseTask::extractRegex() - Pull up helper from subclass
authorTim Otten <totten@civicrm.org>
Wed, 27 Jul 2016 21:22:29 +0000 (14:22 -0700)
committerTim Otten <totten@civicrm.org>
Thu, 28 Jul 2016 00:20:16 +0000 (17:20 -0700)
CRM/Core/CodeGen/BaseTask.php
CRM/Core/CodeGen/DAO.php

index f220415bd014b79fa6e2df2bcba36e25f379dea3..73bf72a5d7ac656027fde5e2cd936eab0dc2cae7 100644 (file)
@@ -37,4 +37,24 @@ abstract class CRM_Core_CodeGen_BaseTask implements CRM_Core_CodeGen_ITask {
     return TRUE;
   }
 
+  /**
+   * Extract a single regex from a file.
+   *
+   * @param string $file
+   *   File name
+   * @param string $regex
+   *   A pattern to match. Ex: "foo=([a-z]+)".
+   * @return string|NULL
+   *   The value matched.
+   */
+  protected static function extractRegex($file, $regex) {
+    $content = file_get_contents($file);
+    if (preg_match($regex, $content, $matches)) {
+      return $matches[1];
+    }
+    else {
+      return NULL;
+    }
+  }
+
 }
index d182ceeb4f73aef36bf2e379296bd60bc0a3516c..e070af5ce474ace2e775797cad89e924832b402a 100644 (file)
@@ -28,7 +28,7 @@ class CRM_Core_CodeGen_DAO extends CRM_Core_CodeGen_BaseTask {
     if (!file_exists($this->getAbsFileName())) {
       return TRUE;
     }
-    return $this->getChecksum() !== self::extractChecksum($this->getAbsFileName(), ';\(GenCodeChecksum:([a-z0-9]+)\);');
+    return $this->getChecksum() !== self::extractRegex($this->getAbsFileName(), ';\(GenCodeChecksum:([a-z0-9]+)\);');
   }
 
   public function run() {
@@ -59,16 +59,6 @@ class CRM_Core_CodeGen_DAO extends CRM_Core_CodeGen_BaseTask {
     return $absFileName;
   }
 
-  protected static function extractChecksum($file, $regex) {
-    $content = file_get_contents($file);
-    if (preg_match($regex, $content, $matches)) {
-      return $matches[1];
-    }
-    else {
-      return NULL;
-    }
-  }
-
   protected function getChecksum() {
     if (!$this->checksum) {
       CRM_Utils_Array::flatten($this->tables[$this->name], $flat);