Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
RSpec matcher for alias_method
# RSpec matcher for alias_method.
# https://gist.github.com/1950961
# Usage:
#
# describe User do
# it { should alias_from(:username).to(:email) }
# end
RSpec::Matchers.define :alias_from do |alias_method|
match do |subject|
begin
subject.send(alias_method)
rescue NoMethodError
raise "expected alias_method from #{alias_method} to #{@original_method} but #{alias_method} is not defined"
end
subject.method(alias_method).should eq(subject.method(@original_method))
end
description do
"RSpec matcher for alias_method"
end
failure_message_for_should do |text|
"expected alias_method from #{alias_method} to #{@original_method}"
end
failure_message_for_should_not do |text|
"do not expected alias_method from #{alias_method} to #{@original_method}"
end
chain(:to) { |original_method| @original_method = original_method }
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.