Class: Shoulda::Matchers::ActionController::PermitMatcher::CompositeParametersDoubleRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/shoulda/matchers/action_controller/permit_matcher.rb

Instance Method Summary collapse

Constructor Details

#initializeCompositeParametersDoubleRegistry

Returns a new instance of CompositeParametersDoubleRegistry.



342
343
344
# File 'lib/shoulda/matchers/action_controller/permit_matcher.rb', line 342

def initialize
  @parameters_double_registries = []
end

Instance Method Details

#permitted_parameter_names(options = {}) ⇒ Object



358
359
360
361
362
# File 'lib/shoulda/matchers/action_controller/permit_matcher.rb', line 358

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

#registerObject



346
347
348
349
350
351
352
353
354
355
356
# File 'lib/shoulda/matchers/action_controller/permit_matcher.rb', line 346

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