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 = []