Object
@private
# File lib/shoulda/matchers/action_controller/strong_parameters_matcher.rb, line 164 def initialize(expected_permitted_params) @action = nil @verb = nil @request_params = {} @expected_permitted_params = expected_permitted_params set_double_collection end
# File lib/shoulda/matchers/action_controller/strong_parameters_matcher.rb, line 184 def description "permit #{verb.upcase} ##{action} to receive parameters #{param_names_as_sentence}" end
# File lib/shoulda/matchers/action_controller/strong_parameters_matcher.rb, line 199 def failure_message "Expected controller to permit #{unpermitted_params.to_sentence}, but it did not." end
# File lib/shoulda/matchers/action_controller/strong_parameters_matcher.rb, line 204 def failure_message_when_negated "Expected controller not to permit #{verified_permitted_params.to_sentence}, but it did." end
# File lib/shoulda/matchers/action_controller/strong_parameters_matcher.rb, line 172 def for(action, options = {}) @action = action @verb = options.fetch(:verb, default_verb) @request_params = options.fetch(:params, {}) self end
# File lib/shoulda/matchers/action_controller/strong_parameters_matcher.rb, line 179 def in_context(context) @context = context self end
# File lib/shoulda/matchers/action_controller/strong_parameters_matcher.rb, line 188 def matches?(controller) @controller = controller ensure_action_and_verb_present! Doublespeak.with_doubles_activated do context.__send__(verb, action, request_params) end unpermitted_params.empty? end
# File lib/shoulda/matchers/action_controller/strong_parameters_matcher.rb, line 222 def actual_permitted_params double_collection.calls_to(:permit).inject([]) do |all_param_names, call| all_param_names + call.args end.flatten end
# File lib/shoulda/matchers/action_controller/strong_parameters_matcher.rb, line 250 def default_verb case action when :create then :post when :update then RailsShim.verb_for_update end end
# File lib/shoulda/matchers/action_controller/strong_parameters_matcher.rb, line 240 def ensure_action_and_verb_present! if action.blank? raise ActionNotDefinedError end if verb.blank? raise VerbNotDefinedError end end
# File lib/shoulda/matchers/action_controller/strong_parameters_matcher.rb, line 257 def param_names_as_sentence expected_permitted_params.map(&:inspect).to_sentence end
# File lib/shoulda/matchers/action_controller/strong_parameters_matcher.rb, line 228 def permit_called? actual_permitted_params.any? end
# File lib/shoulda/matchers/action_controller/strong_parameters_matcher.rb, line 214 def set_double_collection @double_collection = Doublespeak.double_collection_for(::ActionController::Parameters) @double_collection.register_stub(:require).to_return { |params| params } @double_collection.register_proxy(:permit) end
Generated with the Darkfish Rdoc Generator 2.