From 97b5e591edd5f8412a2d308bf44cfb811377b875 Mon Sep 17 00:00:00 2001 From: Marcello Barnaba Date: Tue, 1 Jun 2021 00:40:36 +0200 Subject: [PATCH] redis: allow full configurability --- config/app.yml | 5 +++-- config/initializers/sidekiq.rb | 4 ++-- lib/config.rb | 9 +++------ spec/fixtures/app.yml | 5 +++-- spec/lib/config_spec.rb | 2 +- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/config/app.yml b/config/app.yml index 02441bd..0471152 100644 --- a/config/app.yml +++ b/config/app.yml @@ -13,8 +13,9 @@ storage_directory: storage legacy_purge_days: 2 # Sidekiq configuration settings - which redis to use and namespace -redis_url: <%= ENV.fetch('REDIS_URL', 'redis://localhost:6379/4') %> -redis_namespace: colore +redis: + :url: <%= ENV.fetch('REDIS_URL', 'redis://localhost:6379/4') %> + :namespace: colore # Conversion processes log conversion_log: log/converter.log diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index eecaabe..469120c 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -3,9 +3,9 @@ require 'config' Sidekiq.configure_server do |config| - config.redis = { url: Colore::C_.redis_url, namespace: Colore::C_.redis_namespace } + config.redis = Colore::C_.redis end Sidekiq.configure_client do |config| - config.redis = { url: Colore::C_.redis_url, namespace: Colore::C_.redis_namespace } + config.redis = Colore::C_.redis end diff --git a/lib/config.rb b/lib/config.rb index dc2038f..819284c 100644 --- a/lib/config.rb +++ b/lib/config.rb @@ -21,10 +21,8 @@ class C_ attr_accessor :legacy_url_base # Number of days to keep legacy files before purging attr_accessor :legacy_purge_days - # Redis connection URL (used by sidekiq) - attr_accessor :redis_url - # Redis namespace (used by sidekiq) - attr_accessor :redis_namespace + # Redis configuration (used by sidekiq) + attr_accessor :redis # Path to the Heathen conversion log attr_accessor :conversion_log # Path to the Error log @@ -56,8 +54,7 @@ def self.config c.storage_directory = yaml['storage_directory'] c.legacy_url_base = yaml['legacy_url_base'] c.legacy_purge_days = yaml['legacy_purge_days'].to_i - c.redis_url = yaml['redis_url'] - c.redis_namespace = yaml['redis_namespace'] + c.redis = yaml['redis'] c.conversion_log = yaml['conversion_log'] c.error_log = yaml['error_log'] diff --git a/spec/fixtures/app.yml b/spec/fixtures/app.yml index 1334689..762f343 100644 --- a/spec/fixtures/app.yml +++ b/spec/fixtures/app.yml @@ -1,3 +1,4 @@ storage_directory: foo -redis_url: bar -redis_namespace: <%= ENV.fetch('TEST_REDIS_NAMESPACE', 'foobar') %> +redis: + :url: bar + :namespace: <%= ENV.fetch('TEST_REDIS_NAMESPACE', 'foobar') %> diff --git a/spec/lib/config_spec.rb b/spec/lib/config_spec.rb index a9a1785..b84a99a 100644 --- a/spec/lib/config_spec.rb +++ b/spec/lib/config_spec.rb @@ -19,7 +19,7 @@ it 'reads from environment variables' do expect(ENV).to receive(:fetch).with('TEST_REDIS_NAMESPACE', 'foobar').and_return('custom') - expect(described_class.config.redis_namespace).to eq 'custom' + expect(described_class.config.redis[:namespace]).to eq 'custom' end end