class Shoulda::Matchers::ActiveModel::Qualifiers::IgnoreInterferenceByWriter
def set(argument)
def set(argument) if argument.is_a?(self.class) @setting = argument.setting @condition = argument.condition else case argument when true, :always @setting = :always when false, :never @setting = :never else @setting = :sometimes if argument.is_a?(Hash) @condition = argument.fetch(:when) else raise invalid_argument_error(argument) end end end @changed = true self rescue KeyError raise invalid_argument_error(argument) end