From 244f79a30646bd9c531b7b84fd2fd3ed8833b5a0 Mon Sep 17 00:00:00 2001
From: Grzegorz Rola <grola@seostudio.pl>
Date: Sat, 22 Jan 2022 18:41:09 +0100
Subject: [PATCH] feature(petition): added text petition

---
 .../AlwaysDisplayDisplayDecision.php          | 20 +++++++++++++++++++
 .../GetParametersDisplayDecision.php          |  2 +-
 src/TextPetition.php                          | 10 ++++++++++
 3 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 src/DisplayStrategy/AlwaysDisplayDisplayDecision.php

diff --git a/src/DisplayStrategy/AlwaysDisplayDisplayDecision.php b/src/DisplayStrategy/AlwaysDisplayDisplayDecision.php
new file mode 100644
index 0000000..7d40d22
--- /dev/null
+++ b/src/DisplayStrategy/AlwaysDisplayDisplayDecision.php
@@ -0,0 +1,20 @@
+<?php
+
+namespace WPDesk\RepositoryRating\DisplayStrategy;
+
+/**
+ * DisplayDecision - always display.
+ */
+class AlwaysDisplayDisplayDecision implements DisplayDecision {
+
+	/**
+	 * Should display?
+	 *
+	 * @return bool
+	 */
+	public function should_display(): bool {
+
+		return true;
+	}
+
+}
\ No newline at end of file
diff --git a/src/DisplayStrategy/GetParametersDisplayDecision.php b/src/DisplayStrategy/GetParametersDisplayDecision.php
index a96f42e..a48fc43 100644
--- a/src/DisplayStrategy/GetParametersDisplayDecision.php
+++ b/src/DisplayStrategy/GetParametersDisplayDecision.php
@@ -22,7 +22,7 @@ class GetParametersDisplayDecision implements DisplayDecision {
 	}
 
 	/**
-	 * Should Beacon be visible?
+	 * Should display?
 	 *
 	 * @return bool
 	 */
diff --git a/src/TextPetition.php b/src/TextPetition.php
index 04c4d88..1904729 100644
--- a/src/TextPetition.php
+++ b/src/TextPetition.php
@@ -20,6 +20,16 @@ class TextPetition implements Hookable {
 	 */
 	private $display_decision;
 
+	/**
+	 * @param string $display_on_action
+	 * @param DisplayDecision $display_decision
+	 */
+	public function __construct( string $display_on_action, DisplayDecision $display_decision ) {
+		$this->display_on_action = $display_on_action;
+		$this->display_decision  = $display_decision;
+	}
+
+
 	public function hooks() {
 		add_action( $this->display_on_action, [ $this, 'display_petition_if_should' ] );
 	}
-- 
GitLab