Blob of spec/spec_dsl.rb (raw blob data)

1 module KeyserSource
2 module SpecDSL
3 # original code by caboose court3nay (?)
4 class HaveValidAssociations
5 def matches?(model)
6 @failed_association = nil
7 @model_class = model.class
8
9 model.class.reflect_on_all_associations.each do |assoc|
10 model.send(assoc.name, true) rescue @failed_association = assoc.name
11 end
12 !@failed_association
13 end
14
15 def failure_message
16 "invalid association \"#{@failed_association}\" on #{@model_class}"
17 end
18 end
19
20 def have_valid_associations
21 HaveValidAssociations.new
22 end
23 end
24 end