Tolerance to Unknown Options
By default the initializer is strict for params (positional arguments), expecting them to be defined explicitly.
require 'dry-initializer'
class User
extend Dry::Initializer
end
user = User.new 'Joe' # raises ArgumentError
At the same time it is tolerant to unknown options. All unknown options are accepted, but ignored:
# It accepts undefined options...
user = User.new name: 'Joe'
# ...but ignores them
user.respond_to? :name # => false