Skip to content

Instantly share code, notes, and snippets.

View emilford's full-sized avatar

Eric Milford emilford

View GitHub Profile
RSpec.shared_examples_for "an interface" do |objects, class_methods: false|
let(:class_methods) { class_methods }
it "classes have compatible interfaces" do
objects.each_cons(2) do |left, right|
left_params = params_for(left, method(:normalize_params))
right_params = params_for(right, method(:normalize_params))
diff = (left_params - right_params) + (right_params - left_params)