diff --git a/activesupport/lib/active_support/message_encryptor.rb b/activesupport/lib/active_support/message_encryptor.rb
index 00548cb381..c6c890c051 100644
--- a/activesupport/lib/active_support/message_encryptor.rb
+++ b/activesupport/lib/active_support/message_encryptor.rb
@@ -134,15 +134,13 @@ module ActiveSupport
# * :digest - String of digest to use for signing. Default is
# +SHA1+. Ignored when using an AEAD cipher like 'aes-256-gcm'.
# * :serializer - Object serializer to use. Default is +Marshal+.
- def initialize(secret, *signature_key_or_options)
- options = signature_key_or_options.extract_options!
- sign_secret = signature_key_or_options.first
+ def initialize(secret, sign_secret = nil, cipher: nil, digest: nil, serializer: nil)
@secret = secret
@sign_secret = sign_secret
- @cipher = options[:cipher] || self.class.default_cipher
- @digest = options[:digest] || "SHA1" unless aead_mode?
+ @cipher = cipher || self.class.default_cipher
+ @digest = digest || "SHA1" unless aead_mode?
@verifier = resolve_verifier
- @serializer = options[:serializer] || Marshal
+ @serializer = serializer || Marshal
end
# Encrypt and sign a message. We need to sign the message in order to avoid
diff --git a/activesupport/lib/active_support/message_verifier.rb b/activesupport/lib/active_support/message_verifier.rb
index dd3f16e5be..ba992a17a1 100644
--- a/activesupport/lib/active_support/message_verifier.rb
+++ b/activesupport/lib/active_support/message_verifier.rb
@@ -103,11 +103,11 @@ module ActiveSupport
class InvalidSignature < StandardError; end
- def initialize(secret, options = {})
+ def initialize(secret, digest: nil, serializer: nil)
raise ArgumentError, "Secret should not be nil." unless secret
@secret = secret
- @digest = options[:digest] || "SHA1"
- @serializer = options[:serializer] || Marshal
+ @digest = digest || "SHA1"
+ @serializer = serializer || Marshal
end
# Checks if a signed message could have been generated by signing an object
diff --git a/activesupport/lib/active_support/messages/rotator.rb b/activesupport/lib/active_support/messages/rotator.rb
index 920000a136..b19e1851e9 100644
--- a/activesupport/lib/active_support/messages/rotator.rb
+++ b/activesupport/lib/active_support/messages/rotator.rb
@@ -3,8 +3,8 @@
module ActiveSupport
module Messages
module Rotator # :nodoc:
- def initialize(*, on_rotation: nil, **options)
- super
+ def initialize(*secrets, on_rotation: nil, **options)
+ super(*secrets, **options)
@options = options
@rotations = []