Sha256: b97a7d7a4ba52f9dcbfdc2de735c1a8a2a75cd12dd48229c6b97d0c573707d78

Contents?: true

Size: 1.28 KB

Versions: 4

Compression:

Stored size: 1.28 KB

Contents

# frozen_string_literal: true

module SuperSettings
  module Storage
    # No-op implementation of the SuperSettings::Storage model. You can use this model if there
    # is no other storage engine available. It can be useful for situations where the normal
    # storage engine is not available, such as in a continious integration environment.
    class NullStorage
      # :nocov:

      include Storage

      attr_accessor :key, :raw_value, :description, :value_type, :updated_at, :created_at, :changed_by

      class << self
        attr_reader :settings

        def history(key)
          []
        end

        def destroy_all
        end

        def all
          []
        end

        def updated_since(time)
          []
        end

        def find_by_key(key)
          nil
        end

        def last_updated_at
          nil
        end

        def create_history(key:, changed_by:, created_at:, value: nil, deleted: false)
          nil
        end

        def load_asynchronous?
          false
        end
      end

      def history(limit: nil, offset: 0)
        []
      end

      def save!
        true
      end

      def deleted=(value)
      end

      def deleted?
        false
      end

      def persisted?
        false
      end

      # :nocov:
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
super_settings-2.2.1 lib/super_settings/storage/null_storage.rb
super_settings-2.2.0 lib/super_settings/storage/null_storage.rb
super_settings-2.1.2 lib/super_settings/storage/null_storage.rb
super_settings-2.1.1 lib/super_settings/storage/null_storage.rb