@@ -7,39 +7,39 @@ def be_a_closure_tree
7
7
8
8
class ClosureTree
9
9
def matches? ( subject )
10
- @subject = subject
10
+ @subject = subject . is_a? ( Class ) ? subject : subject . class
11
11
# OPTIMIZE
12
12
if @subject . respond_to? ( :_ct )
13
13
14
14
unless @subject . column_names . include? ( @subject . _ct . parent_column_name )
15
- @message = "expected #{ @subject . class . name } to respond to #{ @subject . _ct . parent_column_name } "
15
+ @message = "expected #{ @subject . name } to respond to #{ @subject . _ct . parent_column_name } "
16
16
return false
17
17
end
18
18
19
19
# Checking if hierarchy table exists (common error)
20
20
unless @subject . hierarchy_class . table_exists?
21
- @message = "expected #{ @subject . class . name } 's hierarchy table '#{ @subject . hierarchy_class . table_name } ' to exist"
21
+ @message = "expected #{ @subject . name } 's hierarchy table '#{ @subject . hierarchy_class . table_name } ' to exist"
22
22
return false
23
23
end
24
24
25
25
if @ordered
26
26
unless @subject . _ct . options . include? ( :order )
27
- @message = "expected #{ @subject . class . name } to be an ordered closure tree"
27
+ @message = "expected #{ @subject . name } to be an ordered closure tree"
28
28
return false
29
29
end
30
30
unless @subject . column_names . include? ( @subject . _ct . options [ :order ] . to_s )
31
- @message = "expected #{ @subject . class . name } to have #{ @subject . _ct . options [ :order ] } as column"
31
+ @message = "expected #{ @subject . name } to have #{ @subject . _ct . options [ :order ] } as column"
32
32
return false
33
33
end
34
34
end
35
35
36
36
if @with_advisory_lock && !@subject . _ct . options [ :with_advisory_lock ]
37
- @message = "expected #{ @subject . class . name } to have advisory lock"
37
+ @message = "expected #{ @subject . name } to have advisory lock"
38
38
return false
39
39
end
40
40
41
41
if @without_advisory_lock && @subject . _ct . options [ :with_advisory_lock ]
42
- @message = "expected #{ @subject . class . name } to not have advisory lock"
42
+ @message = "expected #{ @subject . name } to not have advisory lock"
43
43
return false
44
44
end
45
45
@@ -65,13 +65,13 @@ def without_advisory_lock
65
65
end
66
66
67
67
def failure_message
68
- @message || "expected #{ @subject . class . name } to #{ description } "
68
+ @message || "expected #{ @subject . name } to #{ description } "
69
69
end
70
70
71
71
alias_method :failure_message_for_should , :failure_message
72
72
73
73
def failure_message_when_negated
74
- "expected #{ @subject . class . name } not be a closure tree, but it is."
74
+ "expected #{ @subject . name } not be a closure tree, but it is."
75
75
end
76
76
77
77
alias_method :failure_message_for_should_not , :failure_message_when_negated
@@ -83,3 +83,7 @@ def description
83
83
end
84
84
end
85
85
end
86
+
87
+ RSpec . configure do |c |
88
+ c . include ClosureTree ::Test ::Matcher , type : :model
89
+ end
0 commit comments