summaryrefslogtreecommitdiff
path: root/lib/gitlab/ci/cron_parser.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/ci/cron_parser.rb')
-rw-r--r--lib/gitlab/ci/cron_parser.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/gitlab/ci/cron_parser.rb b/lib/gitlab/ci/cron_parser.rb
index efd48a9b29f..bc03658aab8 100644
--- a/lib/gitlab/ci/cron_parser.rb
+++ b/lib/gitlab/ci/cron_parser.rb
@@ -6,6 +6,10 @@ module Gitlab
VALID_SYNTAX_SAMPLE_TIME_ZONE = 'UTC'
VALID_SYNTAX_SAMPLE_CRON = '* * * * *'
+ def self.parse_natural(expression, cron_timezone = 'UTC')
+ new(Fugit::Nat.parse(expression)&.original, cron_timezone)
+ end
+
def initialize(cron, cron_timezone = 'UTC')
@cron = cron
@cron_timezone = timezone_name(cron_timezone)
@@ -27,6 +31,10 @@ module Gitlab
try_parse_cron(VALID_SYNTAX_SAMPLE_CRON, @cron_timezone).present?
end
+ def match?(time)
+ cron_line.match?(time)
+ end
+
private
def timezone_name(timezone)