21
1
Fork 0
mirror of https://github.com/Evolix/chexpire.git synced 2024-05-05 10:15:09 +02:00
chexpire/lib/tasks/checks.rake

48 lines
1.2 KiB
Ruby
Raw Normal View History

# Copyright (C) 2018 Colin Darie <colin@darie.eu>, 2018 Evolix <info@evolix.fr>
# License: GNU AGPL-3+ (see full text in LICENSE file)
namespace :checks do
namespace :sync_dates do
2018-07-02 17:21:08 +02:00
task all: [:domain, :ssl]
2018-08-30 18:36:26 +02:00
def stdout_logger(env = {}) # rubocop:disable Metrics/MethodLength
verbose_mode = env.fetch("VERBOSE") { 0 }.to_i == 1
quiet_mode = env.fetch("QUIET") { 0 }.to_i == 1
silent_mode = env.fetch("SILENT") { 0 }.to_i == 1
if silent_mode
2018-08-30 18:36:26 +02:00
NullLogger.new
else
logger = Logging.logger(STDOUT)
logger.level = if quiet_mode
:error
elsif verbose_mode
:debug
else
:info
end
logger
end
end
desc "Refresh domains expiry dates"
task domain: :environment do
process = CheckDomainProcessor.new(
logger: stdout_logger(ENV),
2018-08-30 18:36:26 +02:00
configuration: Rails.configuration.chexpire.fetch("checks_domain"),
)
process.sync_dates
end
2018-07-02 17:21:08 +02:00
desc "Refresh SSL expiry dates"
2018-07-06 12:57:07 +02:00
task ssl: :environment do
process = CheckSSLProcessor.new(
logger: stdout_logger(ENV),
2018-08-30 18:36:26 +02:00
configuration: Rails.configuration.chexpire.fetch("checks_ssl"),
)
2018-07-02 17:21:08 +02:00
process.sync_dates
end
end
end