Sha256: a009389b65870264cb9500140f7b367e78463a8d094c194189c92fb21b094886

Contents?: true

Size: 569 Bytes

Versions: 14

Compression:

Stored size: 569 Bytes

Contents

# frozen_string_literal: true

module Motor
  module Alerts
    module ScheduledAlertsCache
      CACHE_STORE = ActiveSupport::Cache::MemoryStore.new(size: 5.megabytes)

      module_function

      def all
        ActiveRecord::Base.logger.silence do
          cache_key = Motor::Alert.all.maximum(:updated_at)

          return [] if cache_key.nil?

          CACHE_STORE.fetch(cache_key) do
            clear

            Motor::Alert.all.active.enabled.to_a
          end
        end
      end

      def clear
        CACHE_STORE.clear
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 3 rubygems

Version Path
motor-admin-0.4.36 lib/motor/alerts/scheduled_alerts_cache.rb
motor-admin-0.4.35 lib/motor/alerts/scheduled_alerts_cache.rb
motor-admin-0.4.34 lib/motor/alerts/scheduled_alerts_cache.rb
motor-admin-0.4.33 lib/motor/alerts/scheduled_alerts_cache.rb
motor-admin-0.4.32 lib/motor/alerts/scheduled_alerts_cache.rb
motor-admin-0.4.31 lib/motor/alerts/scheduled_alerts_cache.rb
motor-admin-0.4.30 lib/motor/alerts/scheduled_alerts_cache.rb
motor-admin-0.4.29 lib/motor/alerts/scheduled_alerts_cache.rb
motor-admin-0.4.28 lib/motor/alerts/scheduled_alerts_cache.rb
motor-admin-0.4.27 lib/motor/alerts/scheduled_alerts_cache.rb
motor-admin-unosquare-0.4.28 lib/motor/alerts/scheduled_alerts_cache.rb
motor-admin-unosquare-0.4.27 lib/motor/alerts/scheduled_alerts_cache.rb
motor-admin-pz-0.4.26 lib/motor/alerts/scheduled_alerts_cache.rb
motor-admin-0.4.26 lib/motor/alerts/scheduled_alerts_cache.rb