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

@private

Attributes

parameters_double_registries_by_params[R]

Public Class Methods

new() click to toggle source
# File lib/shoulda/matchers/action_controller/permit_matcher.rb, line 338
def initialize
  @parameters_double_registries_by_params = {}
end

Public Instance Methods

permitted_parameter_names(options = {}) click to toggle source
# File lib/shoulda/matchers/action_controller/permit_matcher.rb, line 355
def permitted_parameter_names(options = {})
  parameters_double_registries_by_params.flat_map do |params, double_registry|
    double_registry.permitted_parameter_names(options)
  end
end
register() click to toggle source
# File lib/shoulda/matchers/action_controller/permit_matcher.rb, line 342
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_by_params[params] =
      parameters_double_registry
  end
end