Sha256: e102413555106f0512034794cb9bed0a01c1c1d8d07c9c622fbaf9c41cd56eb5
Contents?: true
Size: 1.36 KB
Versions: 6
Compression:
Stored size: 1.36 KB
Contents
require 'aws-sessionstore-dynamodb' require 'action_dispatch/middleware/session/abstract_store' module ActionDispatch module Session # Uses the Dynamo DB Session Store implementation to create a class that # extends ActionDispatch::Session. Rails will create a :dynamodb_store # configuration for session_store from this class name. # # This class will use the Rails secret_key_base unless otherwise provided. # # Configuration can also be provided in YAML files from Rails config, either # in "config/session_store.yml" or "config/session_store/#\\{Rails.env}.yml". # Configuration files that are environment-specific will take precedence. # # @see https://docs.aws.amazon.com/sdk-for-ruby/aws-sessionstore-dynamodb/api/Aws/SessionStore/DynamoDB/Configuration.html class DynamodbStore < Aws::SessionStore::DynamoDB::RackMiddleware include StaleSessionCheck include SessionObject def initialize(app, options = {}) options[:config_file] ||= config_file if config_file.exist? options[:secret_key] ||= Rails.application.secret_key_base super end private def config_file file = Rails.root.join("config/dynamo_db_session_store/#{Rails.env}.yml") file = Rails.root.join('config/dynamo_db_session_store.yml') unless file.exist? file end end end end
Version data entries
6 entries across 6 versions & 1 rubygems