Sha256: 7b646ae259969c4a5d39de3dc666036ffdd08d19f2fefdc12d39855929d1a204

Contents?: true

Size: 803 Bytes

Versions: 4

Compression:

Stored size: 803 Bytes

Contents

module RailsSettings
  if defined? ActiveSupport::CurrentAttributes
    # For storage all settings in Current, it will reset after per request completed.
    # Base on ActiveSupport::CurrentAttributes
    # https://api.rubyonrails.org/classes/ActiveSupport/CurrentAttributes.html
    class RequestCache < ActiveSupport::CurrentAttributes
      attribute :settings
    end
  else
    # https://github.com/steveklabnik/request_store
    # For Rails 5.0
    require "request_store"

    class RequestCache
      class << self
        def reset
          self.settings = nil
        end

        def settings
          RequestStore.store[:rails_settings_all_settings]
        end

        def settings=(val)
          RequestStore.store[:rails_settings_all_settings]
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rails-settings-cached-2.7.1 lib/rails-settings/request_cache.rb
rails-settings-cached-2.7.0 lib/rails-settings/request_cache.rb
rails-settings-cached-2.6.0 lib/rails-settings/request_cache.rb
rails-settings-cached-2.5.3 lib/rails-settings/request_cache.rb