Version 1
[yaffs-website] / vendor / drupal / console / templates / module / src / Plugin / migrate / source / source.php.twig
diff --git a/vendor/drupal/console/templates/module/src/Plugin/migrate/source/source.php.twig b/vendor/drupal/console/templates/module/src/Plugin/migrate/source/source.php.twig
new file mode 100644 (file)
index 0000000..1f8ee6e
--- /dev/null
@@ -0,0 +1,55 @@
+{% extends "base/class.php.twig" %}
+
+{% block file_path %}
+\Drupal\{{module}}\Plugin\migrate\source\{{class_name}}.
+{% endblock %}
+
+{% block namespace_class %}
+namespace Drupal\{{module}}\Plugin\migrate\source;
+{% endblock %}
+
+{% block use_class %}
+use Drupal\migrate\Plugin\migrate\source\SqlBase;
+{% endblock %}
+
+{% block class_declaration %}
+/**
+ * Provides a '{{class_name}}' migrate source.
+ *
+ * @MigrateSource(
+ *  id = "{{plugin_id}}"
+ * )
+ */
+class {{class_name}} extends SqlBase {% endblock %}
+{% block class_methods %}
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+
+    return $this->select('{{table}}', '{{alias}}')
+      ->fields('{{alias}}'){% if group_by %}
+      ->groupBy('{{alias}}.{{group_by}}')
+      {% endif %};
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    $fields = [
+    {% for field in fields %}
+  '{{field.id}}' => $this->t('{{field.description}}'),
+    {% endfor %}
+];
+    return $fields;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    return [
+    ];
+  }
+{% endblock %}