class Shoulda::Matchers::ActionController::PermitMatcher::CompositeParametersDoubleRegistry

@private

def initialize

def initialize
  @parameters_double_registries = []
end

def permitted_parameter_names(options = {})

def permitted_parameter_names(options = {})
  parameters_double_registries.flat_map do |double_registry|
    double_registry.permitted_parameter_names(options)
  end
end

def register

def register
  double_collection = Doublespeak.double_collection_for(
    ::ActionController::Parameters.singleton_class
  )
  double_collection.register_proxy(:new).to_return do |call|
    params = call.return_value
    parameters_double_registry = ParametersDoubleRegistry.new(params)
    parameters_double_registry.register
    parameters_double_registries << parameters_double_registry
  end
end