instance method
merged_options
Ruby on Rails 7.1.6
Since v5.2.8.1 Private — implementation detail, not part of the public APISignature
merged_options(call_options)
Merges the default options with ones specific to a method call.
Parameters
-
call_optionsreq
Source
# File activesupport/lib/active_support/cache.rb, line 867
def merged_options(call_options)
if call_options
call_options = normalize_options(call_options)
if call_options.key?(:expires_in) && call_options.key?(:expires_at)
raise ArgumentError, "Either :expires_in or :expires_at can be supplied, but not both"
end
expires_at = call_options.delete(:expires_at)
call_options[:expires_in] = (expires_at - Time.now) if expires_at
if call_options[:expires_in].is_a?(Time)
expires_in = call_options[:expires_in]
raise ArgumentError.new("expires_in parameter should not be a Time. Did you mean to use expires_at? Got: #{expires_in}")
end
if call_options[:expires_in]&.negative?
expires_in = call_options.delete(:expires_in)
handle_invalid_expires_in("Cache expiration time is invalid, cannot be negative: #{expires_in}")
end
if options.empty?
call_options
else
options.merge(call_options)
end
else
options
end
end
Defined in activesupport/lib/active_support/cache.rb line 867
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveSupport::Cache::Store