class ${1:ReverseTo}
	def initialize(${2:param})
		@$2 = $2
	end

	def matches?(actual)
		@actual = actual
		# Satisfy expectation here. Return false or raise an error if it's not met.
		${3:@actual.reverse.should == @$2}
		true
	end

	def failure_message
		"expected #{@actual.inspect} to ${4} #{@$2.inspect}, but it didn't"
	end

	def negative_failure_message
		"expected #{@actual.inspect} not to ${5} #{@$2.inspect}, but it did"
	end
end

def ${6:reverse_to}(${7:expected})
	${8}.new($7)
end