class Shoulda::Matchers::ActionController::RouteParams
@private
Attributes
args[R]
Public Class Methods
new(args)
click to toggle source
# File lib/shoulda/matchers/action_controller/route_params.rb, line 6 def initialize(args) @args = args end
Public Instance Methods
normalize()
click to toggle source
# File lib/shoulda/matchers/action_controller/route_params.rb, line 10 def normalize if controller_and_action_given_as_string? extract_params_from_string else stringify_params end end
Protected Instance Methods
controller_and_action_given_as_string?()
click to toggle source
# File lib/shoulda/matchers/action_controller/route_params.rb, line 22 def controller_and_action_given_as_string? args[0].is_a?(String) end
extract_params_from_string()
click to toggle source
# File lib/shoulda/matchers/action_controller/route_params.rb, line 26 def extract_params_from_string controller, action = args[0].split('#') params = (args[1] || {}).merge(controller: controller, action: action) stringify_values(params) end
stringify(value)
click to toggle source
# File lib/shoulda/matchers/action_controller/route_params.rb, line 43 def stringify(value) if value.is_a?(Array) value.map(&:to_param) else value.to_param end end
stringify_params()
click to toggle source
# File lib/shoulda/matchers/action_controller/route_params.rb, line 32 def stringify_params stringify_values(args[0]) end
stringify_values(hash)
click to toggle source
# File lib/shoulda/matchers/action_controller/route_params.rb, line 36 def stringify_values(hash) hash.inject({}) do |hash_copy, (key, value)| hash_copy[key] = stringify(value) hash_copy end end